WHILE .. ENDWHILE


Bloco de iteração ( LOOP ) com sentenças logicas, onde a iteração acontece enquanto a sentenção logica não for verdadeira.

WHILE    SENTENÇA_LOGICA.

 <Blocos das sentenças da iteração WHILE>

ENDWHILE.

A sintaxe WHILE do ABAP é:

DATA CONTADOR TYPE I VALUE 0.WHILE CONTADOR <> 10.         WRITE: / ‘Numero de iterações:’, CONTADOR.

CONTADOR = CONTADOR + 1.

ENDWHILE.

CONTADOR = 0.

SKIP.

WHILE CONTADOR < 10.

          WRITE: / ‘Numero de iterações:’,  CONTADOR.

CONTADOR = CONTADOR + 1.

ENDWHILE.

CONTADOR = 10.

SKIP.

WHILE CONTADOR > 0.

          WRITE: / ‘Numero de iterações:’, CONTADOR.

CONTADOR = CONTADOR – 1.

ENDWHILE.

CONTADOR = 10.

SKIP.

WHILE CONTADOR = 10.

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

02 – Nota Fiscal – J_1B_NF_VALUE_DETERMINATION


Está função carregas os totais de impostos de uma determinada nota fiscal, os totais sobre os itens e sobre a nota fiscal.   Template: CALL FUNCTION ‘J_1B_NF_VALUE_DETERMINATION’
  
EXPORTING
    NF_HEADER          =
 
IMPORTING
   EXT_HEADER          =
  
TABLES
   NF_ITEM            =
   NF_ITEM_TAX        =
   EXT_ITEM            =
   EXT_TOTAL_TAX       =.
 

Entrada:  

NF_HEADER                 =                     Estrutura do tipo J_1BNFDOC (contendo dados de uma determinada nota fiscal X). 

NF_ITEM                         =                     Tabela contendo os itens de uma determinada nota fiscal X  

Saída: 

EXT_HEADER               =                     Estrutura contendo dados adicionais da notas tais como: valor total da nota fiscal, valores totais de impostos. A estrutura é do tipo J_1BINDOC.

EXT_ITEM                      =          Tabela contendo os dados Totais de impostos de todos os itens da nota fiscal informada. A tabela é do tipo J_1BINLIN.

 Exemplos:

 DATABEGIN OF WK_HEADER.
        
INCLUDE STRUCTURE J_1BNFDOC.
DATAEND OF WK_HEADER.
DATABEGIN OF WK_HEADER_ADD.
        
INCLUDE STRUCTURE J_1BINDOC.
DATAEND OF WK_HEADER_ADD.
DATABEGIN OF WK_PARTNER OCCURS 0.
        
INCLUDE STRUCTURE J_1BNFNAD.
DATAEND OF WK_PARTNER.
DATABEGIN OF WK_ITEM OCCURS 0.
        
INCLUDE STRUCTURE J_1BNFLIN.
DATAEND OF WK_ITEM.
DATABEGIN OF WK_ITEM_TAX OCCURS 0.
        
INCLUDE STRUCTURE J_1BNFSTX.
DATAEND OF WK_ITEM_TAX.
DATABEGIN OF WK_ITEM_ADD OCCURS 0.
        
INCLUDE STRUCTURE J_1BINLIN.
DATAEND OF WK_ITEM_ADD.
DATABEGIN OF WK_HEADER_MSG OCCURS 0.
        
INCLUDE STRUCTURE J_1BNFFTX.
DATAEND OF WK_HEADER_MSG.
DATABEGIN OF WK_REFER_MSG OCCURS 0.
        
INCLUDE STRUCTURE J_1BNFREF.
DATAEND OF WK_REFER_MSG. CALL FUNCTION ‘J_1B_NF_DOCUMENT_READ’
    
EXPORTING
      DOC_NUMBER         = 
‘890’
    
IMPORTING
      DOC_HEADER         = WK_HEADER
    
TABLES
      DOC_PARTNER        = WK_PARTNER
      DOC_ITEM           = WK_ITEM
      DOC_ITEM_TAX       = WK_ITEM_TAX
      DOC_HEADER_MSG     = WK_HEADER_MSG
      DOC_REFER_MSG      = WK_REFER_MSG
    
EXCEPTIONS
      DOCUMENT_NOT_FOUND = 
1
      DOCUM_LOCK         = 
2
      
OTHERS             = 3.

WRITE: / WK_HEADER-DOCNUM, WK_HEADER-NFTYPE,
         WK_HEADER-DOCTYP, WK_HEADER-DIRECT,
         WK_HEADER-DOCDAT.
SKIP.

LOOP AT WK_ITEM.WRITE: / WK_ITEM-DOCNUM, WK_ITEM-ITMNUM, WK_ITEM-MATNR,
         WK_ITEM-BWKEY,  WK_ITEM-BWTAR,  WK_ITEM-CHARG,
         WK_ITEM-MATKL,  WK_ITEM-MAKTX.

ENDLOOP.  CALL FUNCTION ‘J_1B_NF_VALUE_DETERMINATION’
    
EXPORTING
      NF_HEADER   = WK_HEADER
    
IMPORTING
      EXT_HEADER  = WK_HEADER_ADD
    
TABLES
      NF_ITEM     = WK_ITEM
      NF_ITEM_TAX = WK_ITEM_TAX
      EXT_ITEM    = WK_ITEM_ADD.

SKIP.LOOP AT WK_ITEM_ADD.  

WRITE: /  WK_ITEM_ADD-DOCNUM,
            WK_ITEM_ADD-ITMNUM,
            WK_ITEM_ADD-NFQTY,
            WK_ITEM_ADD-NFUNT,
            WK_ITEM_ADD-NFPRI,
            WK_ITEM_ADD-NFNET,
            WK_ITEM_ADD-NFFRE,
            WK_ITEM_ADD-NFINS.
ENDLOOP.

Design a site like this with WordPress.com
Iniciar