03 – Nota Fiscal – J_1B_NF_PARTNER_READ


Está função retorna os dados de um determinado parceiro da nota fiscal,  onde uma nota fiscal pode ter vários parceiros e um parceiro pode estar em varias notas a tabelas que armazenas os dados de parceiros da nota fiscal é: 

J_1BNFNAD      =          Dados do parceiro da nota Fiscal

J_1BINNAD        =          Dados de endereço do parceiro da nota Fiscal  

Template: CALL FUNCTION ‘J_1B_NF_PARTNER_READ’
  
EXPORTING
    PARTNER_TYPE                =
    PARTNER_ID                  =
   DOC_NUMBER                   =
   PARTNER_FUNCTION             =
   OBJ_ITEM                     =
 
IMPORTING
   PARNAD                       =
 
EXCEPTIONS
   PARTNER_NOT_FOUND            = 
1
   PARTNER_TYPE_NOT_FOUND       = 
2
   
OTHERS                       = 3.  

Entrada: 

PARTNER_TYPE                                  =          Tipo do parceiro                

PARTNER_ID                                        =          Id (Identificação do Parceiro)  Saída: PARNAD                                                =          Estrutura contendo os dados de nome e endereços do parceiro. 

Exemplo: 

DATABEGIN OF WK_HEADER OCCURS 0.
        
INCLUDE STRUCTURE J_1BNFDOC.
DATAEND OF WK_HEADER.

DATA BINNAD  TYPE J_1BINNAD.SELECT * FROM J_1BNFDOC INTO TABLE WK_HEADER WHERE DOCNUM = ‘889’.

READ TABLE WK_HEADER INDEX 1.CALL FUNCTION ‘J_1B_NF_PARTNER_READ’
  
EXPORTING
    PARTNER_TYPE                 = WK_HEADER-PARTYP
    PARTNER_ID                   = WK_HEADER-PARID
 
IMPORTING
   PARNAD                       = BINNAD
 
EXCEPTIONS
   PARTNER_NOT_FOUND            = 
1
   PARTNER_TYPE_NOT_FOUND       = 
2
   
OTHERS                       = 3.

IF SY-SUBRC = 0. WRITE: /  BINNAD-ANRED,
          BINNAD-NAME1,
          BINNAD-NAME2,
          BINNAD-NAME3,
          BINNAD-NAME4,
          BINNAD-STRAS,
          BINNAD-ORT01,
          BINNAD-ORT02,
          BINNAD-REGIO.
ENDIF. As demais são opcionais 

DO ….. ENDDO


Bloco de iteração ( LOOP ) com sentenças logicas OU numerica, onde a iteração acontece enquanto a sentenção logica não for verdadeira ou a expressão numerica não for atingida. Em abap não existe FOR com em outras linguagem, pois o DO …  ENDDO faz a mesmo coisa de um for ou de um proprio (REPIT), lembrando que a grande diferença desta iteração com o WHILE … ENDWHILE é que mesmo que a expressão logica ou Numerica não seja verdadeira haverá sempre um iteração, ja no WHILE … ENDWHILE somente haverá uma iteração se a expressção for verdadeira.

Sintaxe:

DO.

 {BLOCO com a sentenças ABAP da iteração}

 para sair desta iteração é necessario utilizar o comando EXIT, quando for atingido a expressão logica o comando exit terminará a sentenxa Iterativa do DO … ENDDO e irá para o proximo comando se tiver.

ENDDO.

Exemplo:

DO.  WRITE: / ‘SY-INDEX – inicio da SY-INDEX:’, (3) SY-INDEX.

    IF SY-INDEX = 10.

                   EXIT.

      ENDIF.

WRITE: ‘Fim do SY_INDEX:’, (3) SY-INDEX.

ENDDO.

Para utilizar o DO … ENDDO com um for regressivo use a sintaxe:

DO numero de iteração TIMES.

   {BLOCO com a sentenças ABAP da iteração}

ENDDO.

Exemplo:

DO 50 TIMES.    WRITE: / ‘SY-INDEX :’, (3) SY-INDEX.

ENDDO.

A variavel  SY-INDEX  é a variavel de Sistema responsavel por coletar o numero de iteração do BLOCO WHILE  mesmo contendo uma variavel propria, como nos exemplos acimas, o ABAP com esta variavel que é do proprio sistema R/3

Design a site like this with WordPress.com
Iniciar