SlideShare una empresa de Scribd logo
1 de 10
REPORT ZCOMPRASREPORTE
NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 65
 MESSAGE-ID ZR .
***********************************************************************
* This program extracts documents from SAP R/3, (A/P module),
* to generate three (3) reports for the PUSCHASE REPORT.
* This a Peruvian legal requirement and have a specific format for each
* report.
*
* All the documents (invoices, credit memos) that have been
* posted between the initial date and the final date, and have at least
* one line item with tax code begining with 'C' or 'R', will be selected
* and written on the report.
* The records are chosen according to the selection-criteria the
* user shows on the screen.
*
* The documents with the document type '38' or 'A5' are
* printed under the title "POLIZAS DE IMPORTACION"
* (custom certificate of importations). It has a different
* report layout than the other documents.
************************************************************************
TABLES: BKPF,                                   " Accounting document header
        BSEG,                             " Accounting document segment
        LFA1.                            " Vendor master (general section)
*        YFCTAPOLI.                            "FAE2000.02.18
DATA: TOTAL_HWBAS           LIKE BSEG-DMBTR,
    TOTAL_DIF       TYPE P DECIMALS 2,
    TOTAL_RET_OTROS       LIKE BSEG-DMBTR,
    TOTAL_IGV        LIKE BSEG-DMBTR,
    TOTAL_VENDOR        LIKE BSEG-DMBTR,
    TOTAL_CIF       LIKE BSEG-DMBTR,
    TOTAL_AD_VAL        LIKE BSEG-DMBTR,
    TOTAL_REINTEGRO       LIKE BSEG-DMBTR,
    SAVE_DOCTYP(3)       TYPE C,
    SAVE_TOTAL_DOCTYP(3) TYPE C,
    SAVE_BKTXT(21)     TYPE C,
    DOCNAME(30)        TYPE C,
   COUNT           TYPE I,
   RAD            TYPE I,
   SAVE_PAGE          TYPE I,
   LIN          TYPE I,
   FLAGGA(2)         TYPE C,
   W_LIFNR_FLAG(1)      TYPE C,
   W_MWSKZ_FLAG(1)        TYPE C,
   TEMP_BELNR         LIKE BSEG-BELNR.
selection-screen: begin of block 1 with frame title text-001.
SELECTION-SCREEN SKIP .
parameters:
      P_COMP LIKE T001-BUKRS OBLIGATORY DEFAULT 'PE02'.
SELECT-OPTIONS:
S_BUDAT      FOR BKPF-BUDAT OBLIGATORY,
S_DOCTYP FOR BKPF-BLART ,
S_VENDOR FOR LFA1-LIFNR ,
S_TCODE      FOR BKPF-TCODE.
selection-screen end of block 1.
SELECTION-SCREEN: BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-022.
SELECTION-SCREEN SKIP .
PARAMETERS:
       P_REP_DT AS CHECKBOX DEFAULT 'X',
       P_REP_SM AS CHECKBOX,
       P_REP_CS AS CHECKBOX.
SELECTION-SCREEN SKIP .
PARAMETER: P_PRINT AS CHECKBOX.
SELECTION-SCREEN SKIP .
SELECTION-SCREEN END OF BLOCK 2.
DATA: DOCTYP(35)     TYPE C,
   DOCNR(10)     TYPE C,
   TOTAL        LIKE BSEG-DMBTR,
   DIF       LIKE BSEG-DMBTR,
   SUMMA(1)      TYPE C.
DATA: BEGIN OF LIST2 OCCURS 0,
   DOCTYP(3) TYPE C,
   BELNR      LIKE BKPF-BELNR,
   GJAHR       LIKE BKPF-GJAHR,
   BLART      LIKE BKPF-BLART,
   BLDAT      LIKE BKPF-BLDAT,
   BUDAT      LIKE BKPF-BUDAT,
   XBLNR      LIKE BKPF-XBLNR,
   BKTXT      LIKE BKPF-BKTXT,
   SHKZG      LIKE BSEG-SHKZG,
   HWBAS       LIKE BSEG-HWBAS,
   RET_OTROS LIKE BSEG-DMBTR,
   IGV      LIKE BSEG-DMBTR,
   TOTAL      LIKE BSEG-DMBTR,
   DIF     LIKE BSEG-DMBTR,
HKONT      LIKE BSEG-HKONT,
    LIFNR     LIKE BSEG-LIFNR,
    MWSKZ        LIKE BSEG-MWSKZ,
    STCD1     LIKE LFA1-STCD1,
    NAME1       LIKE LFA1-NAME1,
    CIF      LIKE BSEG-DMBTR,
    AD_VAL       LIKE BSEG-DMBTR,
    REINTEGRO LIKE BSEG-DMBTR,
    TCODE      LIKE BKPF-TCODE,
    STBLG      LIKE BKPF-STBLG,
    STJAH       LIKE BKPF-STJAH,
    END OF LIST2.
DATA: BEGIN OF LIST3 OCCURS 0,
   BELNR      LIKE BSEG-BELNR,
   SHKZG      LIKE BSEG-SHKZG,
   HWBAS       LIKE BSEG-DMBTR,
   DMBTR      LIKE BSEG-DMBTR,
   SGTXT(20) TYPE C,
   HKONT      LIKE BSEG-HKONT,
   LIFNR     LIKE BSEG-LIFNR,
   MWSKZ       LIKE BSEG-MWSKZ,
   TOTAL      LIKE BSEG-DMBTR,
   END OF LIST3.
DATA: BEGIN OF LIST4 OCCURS 0.
    INCLUDE STRUCTURE LIST2.
DATA: END OF LIST4.
DATA: BEGIN OF LIST5 OCCURS 0.
    INCLUDE STRUCTURE LIST2.
DATA: END OF LIST5.
DATA: BEGIN OF TOTAL_LIST OCCURS 0,
   DOCTYP(3)           TYPE C,
   DOCNAME(30)           TYPE C,
   HWBAS              LIKE BSEG-DMBTR,
   DIF            LIKE BSEG-DMBTR,
   RET_OTROS           LIKE BSEG-DMBTR,
   IGV             LIKE BSEG-DMBTR,
   VENDOR             LIKE BSEG-DMBTR,
   END OF TOTAL_LIST.
DATA: SAVE_BELNR LIKE BSEG-BELNR.
* Modified begin by FAE2000.02.18
DATA ACCT8(8) TYPE C.
RANGES R_ACCT FOR ACCT8.
INITIALIZATION.
  REFRESH R_ACCT.
  MOVE 'I' TO R_ACCT-SIGN.
  MOVE 'EQ' TO R_ACCT-OPTION.
* SELECT * FROM YFCTAPOLI.
* CONCATENATE '0000' YFCTAPOLI-ACCT4 INTO R_ACCT-LOW.
* APPEND R_ACCT.
* ENDSELECT.
* Modified end by FAE2000.02.18
*$*$----------------- M A I N R O U T I N E ------------------------ *
START-OF-SELECTION.
 IF P_PRINT = 'X'.
   NEW-PAGE PRINT ON.
 ENDIF.
 PERFORM SELECT_DATA_FROM_TABLES.
 PERFORM ADJUST_TO_REPORT.
 IF P_REP_DT EQ 'X'.
   FLAGGA = 'dt'.
   PERFORM WRITE_DETAILED_REPORT.
 ENDIF.
 IF P_REP_SM EQ 'X'.
   FLAGGA = 'sm'.
   PERFORM WRITE_SUMMARY_REPORT.
 ENDIF.
 IF P_REP_CS EQ 'X'.
   FLAGGA = 'cs'.
   PERFORM WRITE_CUSTOMER_REPORT.
 ENDIF.
END-OF-SELECTION.
*---------------------------------------------------------------------*
*     FORM SELECT_DATA_FROM_TABLES                                   *
*---------------------------------------------------------------------*
*     ........                                   *
*---------------------------------------------------------------------*
FORM SELECT_DATA_FROM_TABLES.
 SELECT BELNR GJAHR BLART BLDAT BUDAT XBLNR BKTXT TCODE
     STBLG STJAH
FROM BKPF INTO CORRESPONDING FIELDS OF LIST2
      WHERE BUKRS = P_COMP         AND
          BUDAT IN S_BUDAT      AND
          BLART IN S_DOCTYP AND
          TCODE IN S_TCODE    AND
        ( TCODE <> 'FB05'    AND
          TCODE NOT LIKE 'FBZ%' AND
          TCODE NOT LIKE 'FB1%' ).
  IF LIST2-TCODE = 'FB08'.                 "FA19990608
    SELECT SINGLE * FROM BKPF
        WHERE BUKRS = P_COMP      AND
           BELNR = LIST2-STBLG AND
           GJAHR = LIST2-STJAH AND
           TCODE = 'FB01'.
    IF SY-SUBRC NE 0.
      CONTINUE.
    ELSE.
      IF BKPF-BLART EQ 'A5' OR BKPF-BLART EQ '38'.
        MOVE BKPF-BLART TO LIST2-BLART.
      ENDIF.
    ENDIF.
  ENDIF.                             "FA19990608
  clear: w_lifnr_flag, w_mwskz_flag.
  SELECT BELNR MWSKZ LIFNR FROM BSEG
               INTO CORRESPONDING FIELDS OF LIST2
        where bukrs eq p_comp and
           belnr eq list2-belnr and
           gjahr eq list2-gjahr.
    IF LIST2-LIFNR IN S_VENDOR AND LIST2-LIFNR NE SPACE.
      w_lifnr_flag = 'X'.
    endif.
   IF LIST2-MWSKZ(1) = 'C' OR LIST2-MWSKZ(1) = 'R'.
     w_mwskz_flag = 'X'.
   endif.
  ENDSELECT.
  if w_lifnr_flag = 'X' and
     w_mwskz_flag = 'X'.
    MOVE LIST2-XBLNR(3) TO LIST2-DOCTYP.
    IF LIST2-DOCTYP NE 'FAC' AND
      LIST2-DOCTYP NE 'NCR' AND
      LIST2-DOCTYP NE 'NDR' AND
      LIST2-DOCTYP NE 'BVT' AND
      LIST2-DOCTYP NE 'RCB' AND
      LIST2-DOCTYP NE 'PAD' AND
      LIST2-DOCTYP NE 'NCD' AND "FAE200.02.18
      LIST2-DOCTYP NE 'NCC'.    "FAE200.02.18
      MOVE '000' TO LIST2-DOCTYP.
    ENDIF.
    append list2.
  ENDIF.
 ENDSELECT.
ENDFORM.
*---------------------------------------------------------------------*
*     FORM ADJUST_TO_REPORT                                     *
*---------------------------------------------------------------------*
*     ........                                   *
*---------------------------------------------------------------------*
FORM ADJUST_TO_REPORT.
 LOOP AT LIST2.
  MOVE LIST2 TO LIST4.
  SELECT HWBAS DMBTR HKONT LIFNR MWSKZ SGTXT SHKZG
      FROM BSEG INTO CORRESPONDING FIELDS OF LIST3
               WHERE BUKRS EQ P_COMP AND
                  BELNR = LIST2-BELNR AND
                  GJAHR = LIST2-GJAHR .
    IF LIST3-SHKZG = 'H'.
      LIST3-DMBTR = LIST3-DMBTR * -1.
    ENDIF.
    IF LIST3-SHKZG = 'S'.
      LIST3-HWBAS = LIST3-HWBAS * -1.
    ENDIF.
    IF LIST4-DOCTYP = 'RCB'    AND
       LIST3-HKONT = '0000255090' AND
       LIST3-MWSKZ <> 'R0'.
      LIST3-TOTAL = ( LIST3-HWBAS + LIST3-DMBTR ).
      MOVE LIST3-TOTAL TO LIST4-TOTAL.
    ENDIF.
    IF LIST3-LIFNR NE ''.
      MOVE LIST3-MWSKZ TO LIST4-MWSKZ.
      MOVE LIST3-LIFNR TO LIST4-LIFNR.
      MOVE LIST3-DMBTR TO LIST4-TOTAL.
    ENDIF.
IF LIST3-HKONT = '0000264101' OR
        LIST3-HKONT = '0000255090'.
        MOVE LIST3-HWBAS TO LIST4-HWBAS.
      ENDIF.
      IF LIST3-HKONT = '0000264102' OR
        LIST3-HKONT = '0000255090'.
        MOVE LIST3-DMBTR TO LIST4-RET_OTROS.
      ELSEIF LIST3-HKONT = '0000264101'.
        MOVE LIST3-DMBTR TO LIST4-IGV.
      ENDIF.
*     if ( list3-hkont(8) eq '00001483' or        "FAE19990716
*          list3-hkont(8) eq '00001681' or      "FAE19990716
*          list3-hkont(8) eq '00001689' or       "FAE19990716
*          list3-hkont(8) eq '00005420' or        "FAE19990716
*          list3-hkont(8) eq '00005440' or        "FAE19990716
*          list3-hkont(8) eq '00005511' or      "FAE19990716
*          list3-hkont(8) eq '00005570' or        "FAE19990716
*          list3-hkont(8) eq '00005720' or        "FAE19990716
*          list3-hkont(8) eq '00005932' or        "FAE19990716
*          list3-hkont(8) eq '00006010' or       "FAE19990716
*          list3-hkont(8) eq '00006098' or        "FAE19990716
*          list3-hkont(8) eq '00006110' or      "FAE19990716
*          list3-hkont(8) eq '00006592' or        "FAE19990716
*          list3-hkont(8) eq '00006992' ).       "FAE19990716
      IF LIST3-HKONT(8) IN R_ACCT.
        IF LIST3-SGTXT(3) EQ 'CIF'.
          MOVE LIST3-DMBTR TO LIST4-CIF.
        ELSEIF LIST3-SGTXT(10) EQ 'AD-VALOREM'.
          MOVE LIST3-DMBTR TO LIST4-AD_VAL.
        ELSEIF LIST3-SGTXT(9) EQ 'REINTEGRO'.
          MOVE LIST3-DMBTR TO LIST4-REINTEGRO.
        ENDIF.
      ENDIF.
     ENDSELECT.
     IF LIST4-DOCTYP EQ 'RCB'.
     LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS - LIST4-RET_OTROS + LIST4-IGV.
     ELSE.
     LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS + LIST4-RET_OTROS + LIST4-IGV.
     ENDIF.
     SELECT NAME1 STCD1
         FROM LFA1 INTO CORRESPONDING FIELDS OF LIST4
              WHERE LIFNR = LIST4-LIFNR.
     ENDSELECT.
     APPEND LIST4.
     CLEAR LIST4.
    ENDLOOP.
    SORT LIST4 BY DOCTYP XBLNR BUDAT BLART.
ENDFORM.
*&---------------------------------------------------------------------*
*&     Form WRITE_COLUMN_NAME
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_COLUMN_NAME.
  SKIP.
  WRITE:/ TEXT-004,           13 TEXT-004,        26 TEXT-007,
         58 TEXT-009, 76 TEXT-011,            98 TEXT-013,
         116 TEXT-015, 136 TEXT-017,         153 TEXT-019, "total
         171 TEXT-020.           " origen referencia
 WRITE:/ TEXT-005,       13 TEXT-006,    26 TEXT-008,
        58 TEXT-010, 76 TEXT-012,     98 TEXT-014,
        116 TEXT-016, 136 TEXT-018,   153 TEXT-005,
        181 TEXT-021.
 ULINE.
ENDFORM.                    " WRITE_COLUMN_NAME
*&---------------------------------------------------------------------*
*&     Form WRITE_DETAILED_REPORT
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_DETAILED_REPORT.
    DESCRIBE TABLE LIST4 LINES RAD.
    IF RAD LT 1.
      MESSAGE E102.
    ENDIF.
    CLEAR RAD.
    NEW-PAGE .
    REFRESH LIST5.
LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'.
* if list4-mwskz ne 'CN'.             "FAE09071999
  MOVE LIST4 TO LIST5.
  APPEND LIST5.
* endif.                         "FAE09071999
 ENDLOOP.
*BREAK-POINT.
 LOOP AT LIST5.
  CASE LIST5-DOCTYP.
   WHEN 'FAC'.
    DOCNAME = TEXT-039.           "FAE2000.02.18
   WHEN 'NDR'.
    DOCNAME = TEXT-040.           "FAE2000.02.18
   WHEN 'NCR' .
    DOCNAME = TEXT-041.         "FAE2000.02.18
   WHEN 'BVT'.
    DOCNAME = TEXT-044.           "FAE2000.02.18
   WHEN 'RCB'.
    DOCNAME = TEXT-042.         "FAE2000.02.18
   WHEN 'PAD'.
    DOCNAME = TEXT-043.           "FAE2000.02.18
   WHEN 'NCD'.
    DOCNAME = TEXT-045.         "FAE2000.02.18
   WHEN 'NCC'.
    DOCNAME = TEXT-046.           "FAE2000.02.18
   WHEN '000'.
    DOCNAME = 'OTROS'.
  ENDCASE.
  AT NEW DOCTYP.
    NEW-PAGE.
    SAVE_DOCTYP = LIST5-DOCTYP.
    PERFORM WRITE_GENERAL_TITLE.
    SKIP.
    WRITE: /73 TEXT-003, 93 DOCNAME.
    SKIP .
    PERFORM WRITE_COLUMN_NAME.
  ENDAT.
DATA: CAD(20) TYPE C, NAN(3) TYPE C, UNE(10) TYPE C.
NAN = 'AÑO'.
CONCATENATE NAN LIST5-BLDAT+0(4) INTO UNE.
CONCATENATE LIST5-NAME1+0(4) UNE INTO CAD SEPARATED BY '_'.
  IF LIST5-DOCTYP = SAVE_DOCTYP.
*    WRITE : / LIST5-XBLNR+4,
*            13 LIST5-STCD1,
*            26 LIST5-NAME1,
*            58 LIST5-BLDAT,
*            70 LIST5-HWBAS,
*            92 LIST5-DIF,
*           111 LIST5-RET_OTROS,
*           129 LIST5-IGV,
*           148 LIST5-TOTAL,
*           171 LIST5-MWSKZ.
 WRITE : / LIST5-XBLNR+4,
            13 LIST5-STCD1,
            22 LIST5-NAME1,
            58 LIST5-BLDAT,
            71 CAD,
            93 LIST5-HWBAS,
           112 LIST5-DIF,
           130 LIST5-RET_OTROS,
           149 LIST5-IGV,
           172 LIST5-TOTAL,
           190 LIST5-MWSKZ.
   IF ( LIST5-XBLNR(3) EQ 'NDR' OR LIST5-XBLNR(3) EQ 'NCR' ).
     WRITE: 178 LIST5-BKTXT.
   ELSEIF LIST5-DOCTYP EQ '000'.
     WRITE: 178 'Doc.SAP:', LIST5-BELNR, P_COMP, LIST5-GJAHR.
   ENDIF.
   ADD LIST5-HWBAS TO TOTAL_HWBAS.
   ADD LIST5-DIF TO TOTAL_DIF.
   ADD LIST5-IGV TO TOTAL_IGV.
   ADD LIST5-TOTAL TO TOTAL_VENDOR.
   ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS.
  ENDIF.
  AT END OF DOCTYP.
   SKIP 2.
   WRITE: /10 'TOTAL', DOCNAME,
        70 TOTAL_HWBAS,
        91 TOTAL_DIF,
       111 TOTAL_RET_OTROS,
       129 TOTAL_IGV,
       148 TOTAL_VENDOR.
   CLEAR: TOTAL_HWBAS,
      TOTAL_DIF,
      TOTAL_RET_OTROS,
      TOTAL_IGV,
      TOTAL_VENDOR,
SAVE_DOCTYP.
  ENDAT.
 ENDLOOP.
ENDFORM.                        " WRITE_DETAILED_REPORT
*&---------------------------------------------------------------------*
*&     Form WRITE_SUMMARY_REPORT
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_SUMMARY_REPORT.
  NEW-PAGE.
 DESCRIBE TABLE LIST4 LINES RAD.
 IF RAD LT 1.
   MESSAGE E102.
 ENDIF.
 PERFORM WRITE_GENERAL_TITLE.
 WRITE: /87 TEXT-032.
 SKIP.
 ULINE.
 SKIP.WRITE: / TEXT-033,
        27 TEXT-034,
        52 TEXT-035,
        77 TEXT-036,
       100 TEXT-037,
       125 TEXT-038.
 SKIP.
 SORT LIST4 BY DOCTYP.
 REFRESH LIST5.
 LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'.
* if list4-mwskz ne 'CN'.             "FAE09071999
  MOVE LIST4 TO LIST5.
  APPEND LIST5.
* endif.                         "FAE09071999
 ENDLOOP.
 LOOP AT LIST5.
  AT NEW DOCTYP.
   SAVE_DOCTYP = LIST5-DOCTYP.
  ENDAT.
  IF LIST5-DOCTYP EQ SAVE_DOCTYP.
    MOVE SAVE_DOCTYP TO SAVE_TOTAL_DOCTYP.
    ADD LIST5-HWBAS TO TOTAL_HWBAS.
    ADD LIST5-DIF TO TOTAL_DIF.
    ADD LIST5-IGV TO TOTAL_IGV.
    ADD LIST5-TOTAL TO TOTAL_VENDOR.
    ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS.
  ENDIF.
  AT END OF DOCTYP.
   MOVE LIST5-DOCTYP TO TOTAL_LIST-DOCTYP.
    CASE TOTAL_LIST-DOCTYP.
     WHEN '000'.
      MOVE TEXT-047 TO TOTAL_LIST-DOCNAME.
     WHEN 'FAC'.
      MOVE TEXT-039 TO TOTAL_LIST-DOCNAME.
     WHEN 'NDR'.
      MOVE TEXT-040 TO TOTAL_LIST-DOCNAME.
     WHEN 'NCR' .
      MOVE TEXT-041 TO TOTAL_LIST-DOCNAME.
     WHEN 'BVT'.
      MOVE 'BOLETA DE VENTA' TO TOTAL_LIST-DOCNAME.
     WHEN 'RCB'.
      MOVE TEXT-042 TO TOTAL_LIST-DOCNAME.
     WHEN 'PAD'.
      MOVE TEXT-043 TO TOTAL_LIST-DOCNAME.
     WHEN 'NCD'.
      MOVE TEXT-045 TO TOTAL_LIST-DOCNAME.
     WHEN 'NCC'.
      MOVE TEXT-046 TO TOTAL_LIST-DOCNAME.
    ENDCASE.
    MOVE TOTAL_HWBAS TO TOTAL_LIST-HWBAS.
    MOVE TOTAL_DIF TO TOTAL_LIST-DIF.
    MOVE TOTAL_IGV TO TOTAL_LIST-IGV.
    MOVE TOTAL_VENDOR TO TOTAL_LIST-VENDOR.
    MOVE TOTAL_RET_OTROS TO TOTAL_LIST-RET_OTROS.
    WRITE: /1 TOTAL_LIST-DOCNAME,
        25 TOTAL_LIST-HWBAS,
        50 TOTAL_LIST-DIF,
        75 TOTAL_LIST-RET_OTROS,
       100 TOTAL_LIST-IGV,
125 TOTAL_LIST-VENDOR.
    APPEND TOTAL_LIST.
   CLEAR: TOTAL_HWBAS,
      TOTAL_DIF,
      TOTAL_RET_OTROS,
      TOTAL_IGV,
      TOTAL_VENDOR.
  ENDAT.
 ENDLOOP.              " loop at list5
 LOOP AT TOTAL_LIST.
  AT LAST.
   SUM.
   SKIP.
   WRITE: / TEXT-050,
          25 TOTAL_LIST-HWBAS,
          50 TOTAL_LIST-DIF,
          75 TOTAL_LIST-RET_OTROS,
         100 TOTAL_LIST-IGV,
         125 TOTAL_LIST-VENDOR.
  ENDAT.
 ENDLOOP.
 SKIP 2.
ENDFORM.                         " WRITE_SUMMARY_REPORT
*&---------------------------------------------------------------------*
*&     Form WRITE_CUSTOMER_REPORT
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_CUSTOMER_REPORT.
  SORT LIST4 BY BLART.
  NEW-PAGE.
 LOOP AT LIST4 WHERE
   BLART = 'A5' OR BLART = '38'.
  WRITE: / LIST4-BKTXT+4,
       30 LIST4-NAME1,
       65 LIST4-XBLNR,
       85 LIST4-BLDAT,
       95 LIST4-CIF,
       114 LIST4-AD_VAL,
       135 LIST4-RET_OTROS,
       155 LIST4-IGV,
       175 LIST4-REINTEGRO,
       195 LIST4-TOTAL.
  ADD LIST4-CIF TO TOTAL_CIF.
  ADD LIST4-AD_VAL TO TOTAL_AD_VAL.
  ADD LIST4-IGV TO TOTAL_IGV.
  ADD LIST4-TOTAL TO TOTAL_VENDOR.
  ADD LIST4-REINTEGRO TO TOTAL_REINTEGRO.
  ADD LIST4-RET_OTROS TO TOTAL_RET_OTROS.
 ENDLOOP.
 SKIP.
 WRITE: /20 'TOTAL COMPANIA:',
       95 TOTAL_CIF,
     115 TOTAL_AD_VAL,
     135 TOTAL_RET_OTROS,
     155 TOTAL_IGV,
     175 TOTAL_REINTEGRO,
     195 TOTAL_VENDOR.
 SKIP.
ENDFORM.                        " WRITE_CUSTOMER_REPORT
*&---------------------------------------------------------------------*
*&     Form WRITE_GENERAL_TITLE
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_GENERAL_TITLE.
  SKIP TO LINE 2.
  WRITE : /73 TEXT-002, S_BUDAT-LOW.
  IF S_BUDAT-HIGH IS INITIAL.
  ELSE.
    WRITE: ' AL ' .
    WRITE: S_BUDAT-HIGH.
  ENDIF.
ENDFORM.                        " WRITE_GENERAL_TITLE
*&---------------------------------------------------------------------*
*&    Form WRITE_COLUMN_REP2
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_COLUMN_REP2.
 WRITE: / TEXT-004,              30 TEXT-007,                65 TEXT-004,
    143 TEXT-024,              204 TEXT-019.
 WRITE:/ TEXT-025,                30 TEXT-008,              65 TEXT-027,
     85 TEXT-009,              105 TEXT-028,            119 TEXT-029,
     143 TEXT-030,              165 TEXT-017,            181 TEXT-031,
     204 TEXT-027.
 ULINE.
ENDFORM.                                     " WRITE_COLUMN_REP2
**********************************************************************
TOP-OF-PAGE.
  SKIP TO LINE 2.
  WRITE : /177 'PAG. :' , SY-PAGNO.
  WRITE : /177 'FECHA:' , SY-DATUM.
  WRITE : /177 'HORA :' , SY-UZEIT.
  SKIP.
 CASE FLAGGA.
  WHEN 'cs' .
   SKIP TO LINE 2.
   PERFORM WRITE_GENERAL_TITLE.
   SKIP.
   WRITE: /73 TEXT-023.
   SKIP.
   PERFORM WRITE_COLUMN_REP2.
  WHEN 'dt'.
   SKIP TO LINE 2.
   PERFORM WRITE_GENERAL_TITLE.
   SKIP.
   WRITE: /73 TEXT-003, 93 DOCNAME.
   SKIP.
   PERFORM WRITE_COLUMN_NAME.
ENDCASE.

DOCUMENTANDO:

LISTA4: ES UNA TABLA QUE CONTIEN UNA ETSRUCTURA LLAMADA LIST2 TAL COMO SE MUESTRA EN EL CODIGO.
         DATA: BEGIN OF LIST4 OCCURS 0.
                INCLUDE STRUCTURE LIST2.
         DATA: END OF LIST4.
LOS CAMPOS QUE TIENE LA ESTARUCTURA LIST2 INCLUDIA EN LA TABLA LISTA4 SON:

            DATA: BEGIN OF LIST2 OCCURS 0,
                 DOCTYP(3)     TYPE C,
                 BELNR        LIKE BKPF-BELNR,
                 GJAHR         LIKE BKPF-GJAHR,
                 BLART        LIKE BKPF-BLART,
                 BLDAT        LIKE BKPF-BLDAT,
                 BUDAT         LIKE BKPF-BUDAT,
                 XBLNR        LIKE BKPF-XBLNR,
                 BKTXT         LIKE BKPF-BKTXT,
                 SHKZG         LIKE BSEG-SHKZG,
                 HWBAS          LIKE BSEG-HWBAS,
                 RET_OTROS      LIKE BSEG-DMBTR,
                 IGV         LIKE BSEG-DMBTR,
                 TOTAL        LIKE BSEG-DMBTR,
                 DIF        LIKE BSEG-DMBTR,
                 HKONT         LIKE BSEG-HKONT,
                 LIFNR       LIKE BSEG-LIFNR,
                 MWSKZ           LIKE BSEG-MWSKZ,
                 STCD1        LIKE LFA1-STCD1,
                 NAME1         LIKE LFA1-NAME1,
                 CIF        LIKE BSEG-DMBTR,
                 AD_VAL        LIKE BSEG-DMBTR,
                 REINTEGRO      LIKE BSEG-DMBTR,
TCODE       LIKE BKPF-TCODE,
         STBLG       LIKE BKPF-STBLG,
         STJAH         LIKE BKPF-STJAH,
         END OF LIST2.




EN EL REPORTE DE COMRPAS QUE SE MUESTRA TENEMOS LOS SIGUIENTES CAMPOS
COMO SON POR ORDEN DE IZQUIERDA A DERECHA LOS SGTES:

  •   LIST5-STCD1: HEREDA DE LFA1-STCD1
      STCD1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO
      STCD1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y STCD1 ALMACENA
      EL NUMERO DE IDENTIFICACION FISCAL.

  •   LIST5-NAME1: HEREDA DE LFA1-NAME1
      NAME1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO
      NAME1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y NAME1 ALMACENA
      EL NOMBRE DEL PROVEEDOR.

  •   LIST5-BLDAT: HEREDA DE BKPF-BLDAT
      BLDAT ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BKPF Y DEL CAMPO
      BLDAT, BKPF ES LA TABLA DE CABECERA DEL DOCUMENTO DE CONTABLIDAD
      Y BLDAT ES EL CAMPO QUE ALMACENA LA FECHA DEL DOCUMENTO.

  •   LIST5-HWBAS: HEREDA DE LIKE BSEG-HWBAS
      HWBAS ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      HWBAS, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD
      Y HWBAS ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-DIF: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
      DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-RET_OTROS: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
      DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-IGV: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
      DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-TOTAL: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
    MONEDA LOCAL.

•   LIST5-MWSKZ: HEREDA DE LIKE BSEG-MWSKZ
    MWSKZ ES UN CAMPO QUE ES EXTRAIDO DE LA TABAL BSEG Y DEL CAMPO
    MWSKZ, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD
    Y DMBTR ES EL CAMPO QUE ALMACENA EL INDICADOR IVA.

Más contenido relacionado

Similar a Report zcomprasreporte abap

Procure to pay base tables flow
Procure to pay base tables flowProcure to pay base tables flow
Procure to pay base tables flowS Kumar G
 
Eikon IBOR transition workflow
Eikon IBOR transition workflowEikon IBOR transition workflow
Eikon IBOR transition workflowisc_library
 
07.advanced abap
07.advanced abap07.advanced abap
07.advanced abapPhong Ho
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid listNur Khoiri
 
fdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdffdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdfSaidHaman
 
The_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdfThe_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdfssuser340a0c
 
Call session Method of BDC
Call session Method of BDCCall session Method of BDC
Call session Method of BDCRavi Kanudawala
 
Kubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてKubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてLINE Corporation
 
F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134Peru Electronics
 
Alvedit programs
Alvedit programsAlvedit programs
Alvedit programsmcclintick
 
Cobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdfCobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdfrydeberghal13313
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEvr1sap
 
P & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PEP & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PEJulio Banks
 
Endevor api an introduction to the endevor application programming interface
Endevor api   an introduction to the endevor application programming interface Endevor api   an introduction to the endevor application programming interface
Endevor api an introduction to the endevor application programming interface Kevin Grimes
 

Similar a Report zcomprasreporte abap (20)

Classical report
Classical reportClassical report
Classical report
 
Zi fi final prog
Zi fi final progZi fi final prog
Zi fi final prog
 
Procure to pay base tables flow
Procure to pay base tables flowProcure to pay base tables flow
Procure to pay base tables flow
 
Alv a otro alv
Alv a otro alvAlv a otro alv
Alv a otro alv
 
Alv grid
Alv gridAlv grid
Alv grid
 
Eikon IBOR transition workflow
Eikon IBOR transition workflowEikon IBOR transition workflow
Eikon IBOR transition workflow
 
07.advanced abap
07.advanced abap07.advanced abap
07.advanced abap
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid list
 
fdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdffdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdf
 
ABAP Advanced List
ABAP Advanced ListABAP Advanced List
ABAP Advanced List
 
Report zalv
Report  zalvReport  zalv
Report zalv
 
The_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdfThe_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdf
 
Call session Method of BDC
Call session Method of BDCCall session Method of BDC
Call session Method of BDC
 
Kubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてKubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべて
 
F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134
 
Alvedit programs
Alvedit programsAlvedit programs
Alvedit programs
 
Cobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdfCobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdf
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLE
 
P & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PEP & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PE
 
Endevor api an introduction to the endevor application programming interface
Endevor api   an introduction to the endevor application programming interface Endevor api   an introduction to the endevor application programming interface
Endevor api an introduction to the endevor application programming interface
 

Último

↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...noor ahmed
 
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
 
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...ritikasharma
 
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...ritikasharma
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...rahim quresi
 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24... Shivani Pandey
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448ont65320
 
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
 
Top Rated Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated  Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Top Rated  Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Call Girls in Nagpur High Profile
 
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl GoaRussian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goasexy call girls service in goa
 
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...noor ahmed
 
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceBorum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceDamini Dixit
 
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...ritikasharma
 
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment BookingKanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment BookingNitya salvi
 
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...ritikasharma
 
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...SUHANI PANDEY
 

Último (20)

↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Behala ⟟ 8250192130 ⟟ High Class Call Girl In...
 
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
 
CHEAP Call Girls in Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
 
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
 
Goa Call "Girls Service 9316020077 Call "Girls in Goa
Goa Call "Girls  Service   9316020077 Call "Girls in GoaGoa Call "Girls  Service   9316020077 Call "Girls in Goa
Goa Call "Girls Service 9316020077 Call "Girls in Goa
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
 
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
 
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
 
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
Russian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In GoaRussian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In Goa
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
 
Top Rated Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated  Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Top Rated  Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
 
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl GoaRussian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
 
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
 
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceBorum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
 
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
 
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment BookingKanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
 
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
 
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
 

Report zcomprasreporte abap

  • 1. REPORT ZCOMPRASREPORTE NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 65 MESSAGE-ID ZR . *********************************************************************** * This program extracts documents from SAP R/3, (A/P module), * to generate three (3) reports for the PUSCHASE REPORT. * This a Peruvian legal requirement and have a specific format for each * report. * * All the documents (invoices, credit memos) that have been * posted between the initial date and the final date, and have at least * one line item with tax code begining with 'C' or 'R', will be selected * and written on the report. * The records are chosen according to the selection-criteria the * user shows on the screen. * * The documents with the document type '38' or 'A5' are * printed under the title "POLIZAS DE IMPORTACION" * (custom certificate of importations). It has a different * report layout than the other documents. ************************************************************************ TABLES: BKPF, " Accounting document header BSEG, " Accounting document segment LFA1. " Vendor master (general section) * YFCTAPOLI. "FAE2000.02.18 DATA: TOTAL_HWBAS LIKE BSEG-DMBTR, TOTAL_DIF TYPE P DECIMALS 2, TOTAL_RET_OTROS LIKE BSEG-DMBTR, TOTAL_IGV LIKE BSEG-DMBTR, TOTAL_VENDOR LIKE BSEG-DMBTR, TOTAL_CIF LIKE BSEG-DMBTR, TOTAL_AD_VAL LIKE BSEG-DMBTR, TOTAL_REINTEGRO LIKE BSEG-DMBTR, SAVE_DOCTYP(3) TYPE C, SAVE_TOTAL_DOCTYP(3) TYPE C, SAVE_BKTXT(21) TYPE C, DOCNAME(30) TYPE C, COUNT TYPE I, RAD TYPE I, SAVE_PAGE TYPE I, LIN TYPE I, FLAGGA(2) TYPE C, W_LIFNR_FLAG(1) TYPE C, W_MWSKZ_FLAG(1) TYPE C, TEMP_BELNR LIKE BSEG-BELNR. selection-screen: begin of block 1 with frame title text-001. SELECTION-SCREEN SKIP . parameters: P_COMP LIKE T001-BUKRS OBLIGATORY DEFAULT 'PE02'. SELECT-OPTIONS: S_BUDAT FOR BKPF-BUDAT OBLIGATORY, S_DOCTYP FOR BKPF-BLART , S_VENDOR FOR LFA1-LIFNR , S_TCODE FOR BKPF-TCODE. selection-screen end of block 1. SELECTION-SCREEN: BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-022. SELECTION-SCREEN SKIP . PARAMETERS: P_REP_DT AS CHECKBOX DEFAULT 'X', P_REP_SM AS CHECKBOX, P_REP_CS AS CHECKBOX. SELECTION-SCREEN SKIP . PARAMETER: P_PRINT AS CHECKBOX. SELECTION-SCREEN SKIP . SELECTION-SCREEN END OF BLOCK 2. DATA: DOCTYP(35) TYPE C, DOCNR(10) TYPE C, TOTAL LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR, SUMMA(1) TYPE C. DATA: BEGIN OF LIST2 OCCURS 0, DOCTYP(3) TYPE C, BELNR LIKE BKPF-BELNR, GJAHR LIKE BKPF-GJAHR, BLART LIKE BKPF-BLART, BLDAT LIKE BKPF-BLDAT, BUDAT LIKE BKPF-BUDAT, XBLNR LIKE BKPF-XBLNR, BKTXT LIKE BKPF-BKTXT, SHKZG LIKE BSEG-SHKZG, HWBAS LIKE BSEG-HWBAS, RET_OTROS LIKE BSEG-DMBTR, IGV LIKE BSEG-DMBTR, TOTAL LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR,
  • 2. HKONT LIKE BSEG-HKONT, LIFNR LIKE BSEG-LIFNR, MWSKZ LIKE BSEG-MWSKZ, STCD1 LIKE LFA1-STCD1, NAME1 LIKE LFA1-NAME1, CIF LIKE BSEG-DMBTR, AD_VAL LIKE BSEG-DMBTR, REINTEGRO LIKE BSEG-DMBTR, TCODE LIKE BKPF-TCODE, STBLG LIKE BKPF-STBLG, STJAH LIKE BKPF-STJAH, END OF LIST2. DATA: BEGIN OF LIST3 OCCURS 0, BELNR LIKE BSEG-BELNR, SHKZG LIKE BSEG-SHKZG, HWBAS LIKE BSEG-DMBTR, DMBTR LIKE BSEG-DMBTR, SGTXT(20) TYPE C, HKONT LIKE BSEG-HKONT, LIFNR LIKE BSEG-LIFNR, MWSKZ LIKE BSEG-MWSKZ, TOTAL LIKE BSEG-DMBTR, END OF LIST3. DATA: BEGIN OF LIST4 OCCURS 0. INCLUDE STRUCTURE LIST2. DATA: END OF LIST4. DATA: BEGIN OF LIST5 OCCURS 0. INCLUDE STRUCTURE LIST2. DATA: END OF LIST5. DATA: BEGIN OF TOTAL_LIST OCCURS 0, DOCTYP(3) TYPE C, DOCNAME(30) TYPE C, HWBAS LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR, RET_OTROS LIKE BSEG-DMBTR, IGV LIKE BSEG-DMBTR, VENDOR LIKE BSEG-DMBTR, END OF TOTAL_LIST. DATA: SAVE_BELNR LIKE BSEG-BELNR. * Modified begin by FAE2000.02.18 DATA ACCT8(8) TYPE C. RANGES R_ACCT FOR ACCT8. INITIALIZATION. REFRESH R_ACCT. MOVE 'I' TO R_ACCT-SIGN. MOVE 'EQ' TO R_ACCT-OPTION. * SELECT * FROM YFCTAPOLI. * CONCATENATE '0000' YFCTAPOLI-ACCT4 INTO R_ACCT-LOW. * APPEND R_ACCT. * ENDSELECT. * Modified end by FAE2000.02.18 *$*$----------------- M A I N R O U T I N E ------------------------ * START-OF-SELECTION. IF P_PRINT = 'X'. NEW-PAGE PRINT ON. ENDIF. PERFORM SELECT_DATA_FROM_TABLES. PERFORM ADJUST_TO_REPORT. IF P_REP_DT EQ 'X'. FLAGGA = 'dt'. PERFORM WRITE_DETAILED_REPORT. ENDIF. IF P_REP_SM EQ 'X'. FLAGGA = 'sm'. PERFORM WRITE_SUMMARY_REPORT. ENDIF. IF P_REP_CS EQ 'X'. FLAGGA = 'cs'. PERFORM WRITE_CUSTOMER_REPORT. ENDIF. END-OF-SELECTION. *---------------------------------------------------------------------* * FORM SELECT_DATA_FROM_TABLES * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM SELECT_DATA_FROM_TABLES. SELECT BELNR GJAHR BLART BLDAT BUDAT XBLNR BKTXT TCODE STBLG STJAH
  • 3. FROM BKPF INTO CORRESPONDING FIELDS OF LIST2 WHERE BUKRS = P_COMP AND BUDAT IN S_BUDAT AND BLART IN S_DOCTYP AND TCODE IN S_TCODE AND ( TCODE <> 'FB05' AND TCODE NOT LIKE 'FBZ%' AND TCODE NOT LIKE 'FB1%' ). IF LIST2-TCODE = 'FB08'. "FA19990608 SELECT SINGLE * FROM BKPF WHERE BUKRS = P_COMP AND BELNR = LIST2-STBLG AND GJAHR = LIST2-STJAH AND TCODE = 'FB01'. IF SY-SUBRC NE 0. CONTINUE. ELSE. IF BKPF-BLART EQ 'A5' OR BKPF-BLART EQ '38'. MOVE BKPF-BLART TO LIST2-BLART. ENDIF. ENDIF. ENDIF. "FA19990608 clear: w_lifnr_flag, w_mwskz_flag. SELECT BELNR MWSKZ LIFNR FROM BSEG INTO CORRESPONDING FIELDS OF LIST2 where bukrs eq p_comp and belnr eq list2-belnr and gjahr eq list2-gjahr. IF LIST2-LIFNR IN S_VENDOR AND LIST2-LIFNR NE SPACE. w_lifnr_flag = 'X'. endif. IF LIST2-MWSKZ(1) = 'C' OR LIST2-MWSKZ(1) = 'R'. w_mwskz_flag = 'X'. endif. ENDSELECT. if w_lifnr_flag = 'X' and w_mwskz_flag = 'X'. MOVE LIST2-XBLNR(3) TO LIST2-DOCTYP. IF LIST2-DOCTYP NE 'FAC' AND LIST2-DOCTYP NE 'NCR' AND LIST2-DOCTYP NE 'NDR' AND LIST2-DOCTYP NE 'BVT' AND LIST2-DOCTYP NE 'RCB' AND LIST2-DOCTYP NE 'PAD' AND LIST2-DOCTYP NE 'NCD' AND "FAE200.02.18 LIST2-DOCTYP NE 'NCC'. "FAE200.02.18 MOVE '000' TO LIST2-DOCTYP. ENDIF. append list2. ENDIF. ENDSELECT. ENDFORM. *---------------------------------------------------------------------* * FORM ADJUST_TO_REPORT * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM ADJUST_TO_REPORT. LOOP AT LIST2. MOVE LIST2 TO LIST4. SELECT HWBAS DMBTR HKONT LIFNR MWSKZ SGTXT SHKZG FROM BSEG INTO CORRESPONDING FIELDS OF LIST3 WHERE BUKRS EQ P_COMP AND BELNR = LIST2-BELNR AND GJAHR = LIST2-GJAHR . IF LIST3-SHKZG = 'H'. LIST3-DMBTR = LIST3-DMBTR * -1. ENDIF. IF LIST3-SHKZG = 'S'. LIST3-HWBAS = LIST3-HWBAS * -1. ENDIF. IF LIST4-DOCTYP = 'RCB' AND LIST3-HKONT = '0000255090' AND LIST3-MWSKZ <> 'R0'. LIST3-TOTAL = ( LIST3-HWBAS + LIST3-DMBTR ). MOVE LIST3-TOTAL TO LIST4-TOTAL. ENDIF. IF LIST3-LIFNR NE ''. MOVE LIST3-MWSKZ TO LIST4-MWSKZ. MOVE LIST3-LIFNR TO LIST4-LIFNR. MOVE LIST3-DMBTR TO LIST4-TOTAL. ENDIF.
  • 4. IF LIST3-HKONT = '0000264101' OR LIST3-HKONT = '0000255090'. MOVE LIST3-HWBAS TO LIST4-HWBAS. ENDIF. IF LIST3-HKONT = '0000264102' OR LIST3-HKONT = '0000255090'. MOVE LIST3-DMBTR TO LIST4-RET_OTROS. ELSEIF LIST3-HKONT = '0000264101'. MOVE LIST3-DMBTR TO LIST4-IGV. ENDIF. * if ( list3-hkont(8) eq '00001483' or "FAE19990716 * list3-hkont(8) eq '00001681' or "FAE19990716 * list3-hkont(8) eq '00001689' or "FAE19990716 * list3-hkont(8) eq '00005420' or "FAE19990716 * list3-hkont(8) eq '00005440' or "FAE19990716 * list3-hkont(8) eq '00005511' or "FAE19990716 * list3-hkont(8) eq '00005570' or "FAE19990716 * list3-hkont(8) eq '00005720' or "FAE19990716 * list3-hkont(8) eq '00005932' or "FAE19990716 * list3-hkont(8) eq '00006010' or "FAE19990716 * list3-hkont(8) eq '00006098' or "FAE19990716 * list3-hkont(8) eq '00006110' or "FAE19990716 * list3-hkont(8) eq '00006592' or "FAE19990716 * list3-hkont(8) eq '00006992' ). "FAE19990716 IF LIST3-HKONT(8) IN R_ACCT. IF LIST3-SGTXT(3) EQ 'CIF'. MOVE LIST3-DMBTR TO LIST4-CIF. ELSEIF LIST3-SGTXT(10) EQ 'AD-VALOREM'. MOVE LIST3-DMBTR TO LIST4-AD_VAL. ELSEIF LIST3-SGTXT(9) EQ 'REINTEGRO'. MOVE LIST3-DMBTR TO LIST4-REINTEGRO. ENDIF. ENDIF. ENDSELECT. IF LIST4-DOCTYP EQ 'RCB'. LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS - LIST4-RET_OTROS + LIST4-IGV. ELSE. LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS + LIST4-RET_OTROS + LIST4-IGV. ENDIF. SELECT NAME1 STCD1 FROM LFA1 INTO CORRESPONDING FIELDS OF LIST4 WHERE LIFNR = LIST4-LIFNR. ENDSELECT. APPEND LIST4. CLEAR LIST4. ENDLOOP. SORT LIST4 BY DOCTYP XBLNR BUDAT BLART. ENDFORM. *&---------------------------------------------------------------------* *& Form WRITE_COLUMN_NAME *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_COLUMN_NAME. SKIP. WRITE:/ TEXT-004, 13 TEXT-004, 26 TEXT-007, 58 TEXT-009, 76 TEXT-011, 98 TEXT-013, 116 TEXT-015, 136 TEXT-017, 153 TEXT-019, "total 171 TEXT-020. " origen referencia WRITE:/ TEXT-005, 13 TEXT-006, 26 TEXT-008, 58 TEXT-010, 76 TEXT-012, 98 TEXT-014, 116 TEXT-016, 136 TEXT-018, 153 TEXT-005, 181 TEXT-021. ULINE. ENDFORM. " WRITE_COLUMN_NAME *&---------------------------------------------------------------------* *& Form WRITE_DETAILED_REPORT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_DETAILED_REPORT. DESCRIBE TABLE LIST4 LINES RAD. IF RAD LT 1. MESSAGE E102. ENDIF. CLEAR RAD. NEW-PAGE . REFRESH LIST5.
  • 5. LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'. * if list4-mwskz ne 'CN'. "FAE09071999 MOVE LIST4 TO LIST5. APPEND LIST5. * endif. "FAE09071999 ENDLOOP. *BREAK-POINT. LOOP AT LIST5. CASE LIST5-DOCTYP. WHEN 'FAC'. DOCNAME = TEXT-039. "FAE2000.02.18 WHEN 'NDR'. DOCNAME = TEXT-040. "FAE2000.02.18 WHEN 'NCR' . DOCNAME = TEXT-041. "FAE2000.02.18 WHEN 'BVT'. DOCNAME = TEXT-044. "FAE2000.02.18 WHEN 'RCB'. DOCNAME = TEXT-042. "FAE2000.02.18 WHEN 'PAD'. DOCNAME = TEXT-043. "FAE2000.02.18 WHEN 'NCD'. DOCNAME = TEXT-045. "FAE2000.02.18 WHEN 'NCC'. DOCNAME = TEXT-046. "FAE2000.02.18 WHEN '000'. DOCNAME = 'OTROS'. ENDCASE. AT NEW DOCTYP. NEW-PAGE. SAVE_DOCTYP = LIST5-DOCTYP. PERFORM WRITE_GENERAL_TITLE. SKIP. WRITE: /73 TEXT-003, 93 DOCNAME. SKIP . PERFORM WRITE_COLUMN_NAME. ENDAT. DATA: CAD(20) TYPE C, NAN(3) TYPE C, UNE(10) TYPE C. NAN = 'AÑO'. CONCATENATE NAN LIST5-BLDAT+0(4) INTO UNE. CONCATENATE LIST5-NAME1+0(4) UNE INTO CAD SEPARATED BY '_'. IF LIST5-DOCTYP = SAVE_DOCTYP. * WRITE : / LIST5-XBLNR+4, * 13 LIST5-STCD1, * 26 LIST5-NAME1, * 58 LIST5-BLDAT, * 70 LIST5-HWBAS, * 92 LIST5-DIF, * 111 LIST5-RET_OTROS, * 129 LIST5-IGV, * 148 LIST5-TOTAL, * 171 LIST5-MWSKZ. WRITE : / LIST5-XBLNR+4, 13 LIST5-STCD1, 22 LIST5-NAME1, 58 LIST5-BLDAT, 71 CAD, 93 LIST5-HWBAS, 112 LIST5-DIF, 130 LIST5-RET_OTROS, 149 LIST5-IGV, 172 LIST5-TOTAL, 190 LIST5-MWSKZ. IF ( LIST5-XBLNR(3) EQ 'NDR' OR LIST5-XBLNR(3) EQ 'NCR' ). WRITE: 178 LIST5-BKTXT. ELSEIF LIST5-DOCTYP EQ '000'. WRITE: 178 'Doc.SAP:', LIST5-BELNR, P_COMP, LIST5-GJAHR. ENDIF. ADD LIST5-HWBAS TO TOTAL_HWBAS. ADD LIST5-DIF TO TOTAL_DIF. ADD LIST5-IGV TO TOTAL_IGV. ADD LIST5-TOTAL TO TOTAL_VENDOR. ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS. ENDIF. AT END OF DOCTYP. SKIP 2. WRITE: /10 'TOTAL', DOCNAME, 70 TOTAL_HWBAS, 91 TOTAL_DIF, 111 TOTAL_RET_OTROS, 129 TOTAL_IGV, 148 TOTAL_VENDOR. CLEAR: TOTAL_HWBAS, TOTAL_DIF, TOTAL_RET_OTROS, TOTAL_IGV, TOTAL_VENDOR,
  • 6. SAVE_DOCTYP. ENDAT. ENDLOOP. ENDFORM. " WRITE_DETAILED_REPORT *&---------------------------------------------------------------------* *& Form WRITE_SUMMARY_REPORT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_SUMMARY_REPORT. NEW-PAGE. DESCRIBE TABLE LIST4 LINES RAD. IF RAD LT 1. MESSAGE E102. ENDIF. PERFORM WRITE_GENERAL_TITLE. WRITE: /87 TEXT-032. SKIP. ULINE. SKIP.WRITE: / TEXT-033, 27 TEXT-034, 52 TEXT-035, 77 TEXT-036, 100 TEXT-037, 125 TEXT-038. SKIP. SORT LIST4 BY DOCTYP. REFRESH LIST5. LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'. * if list4-mwskz ne 'CN'. "FAE09071999 MOVE LIST4 TO LIST5. APPEND LIST5. * endif. "FAE09071999 ENDLOOP. LOOP AT LIST5. AT NEW DOCTYP. SAVE_DOCTYP = LIST5-DOCTYP. ENDAT. IF LIST5-DOCTYP EQ SAVE_DOCTYP. MOVE SAVE_DOCTYP TO SAVE_TOTAL_DOCTYP. ADD LIST5-HWBAS TO TOTAL_HWBAS. ADD LIST5-DIF TO TOTAL_DIF. ADD LIST5-IGV TO TOTAL_IGV. ADD LIST5-TOTAL TO TOTAL_VENDOR. ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS. ENDIF. AT END OF DOCTYP. MOVE LIST5-DOCTYP TO TOTAL_LIST-DOCTYP. CASE TOTAL_LIST-DOCTYP. WHEN '000'. MOVE TEXT-047 TO TOTAL_LIST-DOCNAME. WHEN 'FAC'. MOVE TEXT-039 TO TOTAL_LIST-DOCNAME. WHEN 'NDR'. MOVE TEXT-040 TO TOTAL_LIST-DOCNAME. WHEN 'NCR' . MOVE TEXT-041 TO TOTAL_LIST-DOCNAME. WHEN 'BVT'. MOVE 'BOLETA DE VENTA' TO TOTAL_LIST-DOCNAME. WHEN 'RCB'. MOVE TEXT-042 TO TOTAL_LIST-DOCNAME. WHEN 'PAD'. MOVE TEXT-043 TO TOTAL_LIST-DOCNAME. WHEN 'NCD'. MOVE TEXT-045 TO TOTAL_LIST-DOCNAME. WHEN 'NCC'. MOVE TEXT-046 TO TOTAL_LIST-DOCNAME. ENDCASE. MOVE TOTAL_HWBAS TO TOTAL_LIST-HWBAS. MOVE TOTAL_DIF TO TOTAL_LIST-DIF. MOVE TOTAL_IGV TO TOTAL_LIST-IGV. MOVE TOTAL_VENDOR TO TOTAL_LIST-VENDOR. MOVE TOTAL_RET_OTROS TO TOTAL_LIST-RET_OTROS. WRITE: /1 TOTAL_LIST-DOCNAME, 25 TOTAL_LIST-HWBAS, 50 TOTAL_LIST-DIF, 75 TOTAL_LIST-RET_OTROS, 100 TOTAL_LIST-IGV,
  • 7. 125 TOTAL_LIST-VENDOR. APPEND TOTAL_LIST. CLEAR: TOTAL_HWBAS, TOTAL_DIF, TOTAL_RET_OTROS, TOTAL_IGV, TOTAL_VENDOR. ENDAT. ENDLOOP. " loop at list5 LOOP AT TOTAL_LIST. AT LAST. SUM. SKIP. WRITE: / TEXT-050, 25 TOTAL_LIST-HWBAS, 50 TOTAL_LIST-DIF, 75 TOTAL_LIST-RET_OTROS, 100 TOTAL_LIST-IGV, 125 TOTAL_LIST-VENDOR. ENDAT. ENDLOOP. SKIP 2. ENDFORM. " WRITE_SUMMARY_REPORT *&---------------------------------------------------------------------* *& Form WRITE_CUSTOMER_REPORT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_CUSTOMER_REPORT. SORT LIST4 BY BLART. NEW-PAGE. LOOP AT LIST4 WHERE BLART = 'A5' OR BLART = '38'. WRITE: / LIST4-BKTXT+4, 30 LIST4-NAME1, 65 LIST4-XBLNR, 85 LIST4-BLDAT, 95 LIST4-CIF, 114 LIST4-AD_VAL, 135 LIST4-RET_OTROS, 155 LIST4-IGV, 175 LIST4-REINTEGRO, 195 LIST4-TOTAL. ADD LIST4-CIF TO TOTAL_CIF. ADD LIST4-AD_VAL TO TOTAL_AD_VAL. ADD LIST4-IGV TO TOTAL_IGV. ADD LIST4-TOTAL TO TOTAL_VENDOR. ADD LIST4-REINTEGRO TO TOTAL_REINTEGRO. ADD LIST4-RET_OTROS TO TOTAL_RET_OTROS. ENDLOOP. SKIP. WRITE: /20 'TOTAL COMPANIA:', 95 TOTAL_CIF, 115 TOTAL_AD_VAL, 135 TOTAL_RET_OTROS, 155 TOTAL_IGV, 175 TOTAL_REINTEGRO, 195 TOTAL_VENDOR. SKIP. ENDFORM. " WRITE_CUSTOMER_REPORT *&---------------------------------------------------------------------* *& Form WRITE_GENERAL_TITLE *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_GENERAL_TITLE. SKIP TO LINE 2. WRITE : /73 TEXT-002, S_BUDAT-LOW. IF S_BUDAT-HIGH IS INITIAL. ELSE. WRITE: ' AL ' . WRITE: S_BUDAT-HIGH. ENDIF. ENDFORM. " WRITE_GENERAL_TITLE *&---------------------------------------------------------------------* *& Form WRITE_COLUMN_REP2
  • 8. *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_COLUMN_REP2. WRITE: / TEXT-004, 30 TEXT-007, 65 TEXT-004, 143 TEXT-024, 204 TEXT-019. WRITE:/ TEXT-025, 30 TEXT-008, 65 TEXT-027, 85 TEXT-009, 105 TEXT-028, 119 TEXT-029, 143 TEXT-030, 165 TEXT-017, 181 TEXT-031, 204 TEXT-027. ULINE. ENDFORM. " WRITE_COLUMN_REP2 ********************************************************************** TOP-OF-PAGE. SKIP TO LINE 2. WRITE : /177 'PAG. :' , SY-PAGNO. WRITE : /177 'FECHA:' , SY-DATUM. WRITE : /177 'HORA :' , SY-UZEIT. SKIP. CASE FLAGGA. WHEN 'cs' . SKIP TO LINE 2. PERFORM WRITE_GENERAL_TITLE. SKIP. WRITE: /73 TEXT-023. SKIP. PERFORM WRITE_COLUMN_REP2. WHEN 'dt'. SKIP TO LINE 2. PERFORM WRITE_GENERAL_TITLE. SKIP. WRITE: /73 TEXT-003, 93 DOCNAME. SKIP. PERFORM WRITE_COLUMN_NAME. ENDCASE. DOCUMENTANDO: LISTA4: ES UNA TABLA QUE CONTIEN UNA ETSRUCTURA LLAMADA LIST2 TAL COMO SE MUESTRA EN EL CODIGO. DATA: BEGIN OF LIST4 OCCURS 0. INCLUDE STRUCTURE LIST2. DATA: END OF LIST4. LOS CAMPOS QUE TIENE LA ESTARUCTURA LIST2 INCLUDIA EN LA TABLA LISTA4 SON: DATA: BEGIN OF LIST2 OCCURS 0, DOCTYP(3) TYPE C, BELNR LIKE BKPF-BELNR, GJAHR LIKE BKPF-GJAHR, BLART LIKE BKPF-BLART, BLDAT LIKE BKPF-BLDAT, BUDAT LIKE BKPF-BUDAT, XBLNR LIKE BKPF-XBLNR, BKTXT LIKE BKPF-BKTXT, SHKZG LIKE BSEG-SHKZG, HWBAS LIKE BSEG-HWBAS, RET_OTROS LIKE BSEG-DMBTR, IGV LIKE BSEG-DMBTR, TOTAL LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR, HKONT LIKE BSEG-HKONT, LIFNR LIKE BSEG-LIFNR, MWSKZ LIKE BSEG-MWSKZ, STCD1 LIKE LFA1-STCD1, NAME1 LIKE LFA1-NAME1, CIF LIKE BSEG-DMBTR, AD_VAL LIKE BSEG-DMBTR, REINTEGRO LIKE BSEG-DMBTR,
  • 9. TCODE LIKE BKPF-TCODE, STBLG LIKE BKPF-STBLG, STJAH LIKE BKPF-STJAH, END OF LIST2. EN EL REPORTE DE COMRPAS QUE SE MUESTRA TENEMOS LOS SIGUIENTES CAMPOS COMO SON POR ORDEN DE IZQUIERDA A DERECHA LOS SGTES: • LIST5-STCD1: HEREDA DE LFA1-STCD1 STCD1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO STCD1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y STCD1 ALMACENA EL NUMERO DE IDENTIFICACION FISCAL. • LIST5-NAME1: HEREDA DE LFA1-NAME1 NAME1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO NAME1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y NAME1 ALMACENA EL NOMBRE DEL PROVEEDOR. • LIST5-BLDAT: HEREDA DE BKPF-BLDAT BLDAT ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BKPF Y DEL CAMPO BLDAT, BKPF ES LA TABLA DE CABECERA DEL DOCUMENTO DE CONTABLIDAD Y BLDAT ES EL CAMPO QUE ALMACENA LA FECHA DEL DOCUMENTO. • LIST5-HWBAS: HEREDA DE LIKE BSEG-HWBAS HWBAS ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO HWBAS, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y HWBAS ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-DIF: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-RET_OTROS: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-IGV: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-TOTAL: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
  • 10. DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-MWSKZ: HEREDA DE LIKE BSEG-MWSKZ MWSKZ ES UN CAMPO QUE ES EXTRAIDO DE LA TABAL BSEG Y DEL CAMPO MWSKZ, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA EL INDICADOR IVA.