Replacing a whole Company Code

Dear Gurus,
Could you please help me in the following questions?
In our businesses a Company Code is created for multiple factories (producing the same product).
What processes, settings and rules do we need to keep an eye on,
when we will replace a whole active Company Code to a new one?
(e.g.: payment methods, subledgers, Purchase Orders)
Thank you for your comments and hints in advance!
Best regards,
Endre

Hi Endre,
Replacing or migrating your businesses to new company code, you have to create project charter what normally we follows during implementation:
1. New enterprise structure
2. Change management
3. GAP Analysis document
4. Customer Development or enhacement or interface Integration or UT in new company code
Its better if you involved your Business Process Owners and consultant team to prepare a modulewise Project Document as per ASAP Methodology.
Regards,
Santosh

Similar Messages

  • FI Number Range Number by Document Type -- different by company code

    In transaction <b>OBA7</b>, I assign a <b>number range number</b> (T003-NUMKR) to each FI Document Type. 
    We have over 40 company codes on SAP.  One of those 40 company codes requires sequential numbering of FI documents for the whole company code across all document types.  The other company codes require different FI number ranges based upon document type.
    I need to identify a solution where I can assign a different <b>number range number</b> by document type for different company codes.
    For instance, company code IT01 should use a single <b>number range number</b> for all FI documents -- i.e. RV, SA, AB, etc. Then, all other company codes should use a different <b>number range number</b> for each document type.
    Any ideas here?  My problem company code is in Italy where our accountants tell us all FI Documents must be sequential, without gaps.

    Hi Colin,
               The point is that it is about journal<b>s</b>
               Sales Journal = Doc type RV
                Cash Sales Journal = Doc Type DR or have RV&DR use the same number range.
                 For clearing you will have to create new doc types eg.
                        AB = GL Clearing
                        KB = Creditor clearing
                        DB = Debitor clearing
    The existing companies will also have to use these since these defaults are set in customising, but you have clearly defined Journals that comply with the requirements
    It is probable that you will need additional doc types,to ensure compliance. In my case all creditor invoices used Doc type KR/KG (SAP Standard and they use the same number range), for the Italian company i then had:-
                     KR/KG = Domestic Purchase Journal
                    New Doc Type = EU Purchase Journal
         etc.
    Kind regards

  • Company Code Logo/ Standardtext need to be replaced with New Logo

    Hi All,
    We have a requrirement to replace  the Standard text and logo for one company code.
    -- How to know what is the existing logo (presently using)
    -- to Know where else the logo is used so that we can replace it with the new logo.
      -- please help me with the list ( where all the placess the logo/ standard text is used.)
    Thanks in advacne.
    Jagadeesh

    Hi Jose,
    Thanks for your reply, How to know the Forms or Places the logo is being used in Particular Company Code?
    With Company Code wise, How to Know what are all the Forms or Scripts the particular Company Code is using.
    Thanks In advace for your help.
    Jagadeesh
    Edited by: ja_acc on Dec 3, 2009 6:32 AM

  • Transaction 100000100 in company code KSID: Activity 00001 has status Replaced

    Hi Frds,
    When I am going to change a contract in money market instrument, I am getting this error, which in term not allowing me to change the contract.
    Can anybody please through some light about status profile. what is this & what is the use of this. How can I change now the contract.
    Thanks & regards ]
    Anil

    Dear Anil,
    Error message FTR0014 occurs if there are inconsitencies in Table
    VTBFHAPO. Therefore you can implement the attached report
    ZCFM_CORR_HAPO into your system, it can fix the error.
    REPORT zcfm_corr_hapo .
    TABLES:
      vtbfha.
    DATA:
      l_wa_vtbfha     TYPE vtbfha,
      l_rfhazu        TYPE tb_rfhazu.
    * selection screen
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(15) comment2.
    SELECTION-SCREEN POSITION POS_LOW.
    PARAMETERS p_cc LIKE vtbfha-bukrs.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(15) comment3.
    SELECTION-SCREEN POSITION POS_LOW.
    PARAMETERS p_rfha LIKE vtbfha-rfha.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(16) comment1.
    SELECTION-SCREEN POSITION POS_LOW.
    PARAMETERS p_test AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    INITIALIZATION.
      sy-title = 'Correction RFHAZUL RFHAZUNR in VTBFHA'.
      MOVE 'Test run' TO comment1.
      MOVE 'Company Code' TO comment2.
      MOVE 'Deal' TO comment3.
    START-OF-SELECTION.
      SELECT SINGLE *
       FROM vtbfha
       INTO l_wa_vtbfha
      WHERE bukrs = p_cc
        AND rfha  = p_rfha
        AND saktiv = '0'.
      IF sy-dbcnt = 0.
        WRITE: 'Deal does not exist!'.
        EXIT.
      ENDIF.
    * check if rfhazul is correct
      SELECT SINGLE rfhazu FROM vtbfhazu
        INTO l_rfhazu
       WHERE bukrs  = p_cc
         AND rfha   = p_rfha
         AND saktiv = '0'.
      IF sy-subrc <> 0.
        MESSAGE e101(t0) WITH 'Correction not possible!'.
        EXIT.
      ENDIF.
      IF l_rfhazu <> l_wa_vtbfha-rfhazul.
        l_wa_vtbfha-rfhazul = l_rfhazu.
      ELSE.
        MESSAGE s101(t0) WITH 'No correction necessary!'.
        EXIT.
      ENDIF.
      CLEAR l_rfhazu.
    * for sec.check rfhazunr, too
      SELECT MAX( rfhazu )  FROM vtbfhazu
        INTO l_rfhazu
       WHERE bukrs = p_cc
         AND rfha  = p_rfha.
      IF NOT l_rfhazu IS INITIAL.
        IF l_rfhazu <> l_wa_vtbfha-rfhazunr.
          l_wa_vtbfha-rfhazunr =  l_rfhazu.
        ENDIF.
      ENDIF.
    * db Update
      IF p_test IS INITIAL.
        UPDATE vtbfha FROM l_wa_vtbfha.
        IF sy-subrc = 0.
          COMMIT WORK.
        ELSE.
          ROLLBACK WORK.
          MESSAGE a101(t0) WITH 'Error during update (vtbfha)'.
        ENDIF.
      ENDIF.
    * log
      IF p_test IS INITIAL.
        WRITE: 'Real run successful'.
      ELSE.
        WRITE: 'Test run successful'.
      ENDIF.
    Best regards,
    Jasmine

  • Creation of New Company code

    Hi,
    The customer has asked to create a Company code, i have created it.
    I have maintained the required Configuration in Enterprise structure, Financial accounting Global setting, General ledger Accounting.
    i can do the posting to this Co.code in FB01.
    Now, do i need to do anything in Controlling for this New Co.code?
    And also, Please explain what is " Cross-system Company codes"?
    because while doing posting in FB01, i got error that, the Cross-system Company codes ia not maintained. so i have maintained it in Global Organization Units.
    Thanks,
    Vidya

    Dear Vidya,
    Definition
    Cross-system company codes are used in the distribution in financial accounting. There is exactly one central system for each cross-system company code in the distributed environment. One company code has to be assigned to this cross-system company code on each system involved in the distribution.
    When sending an I-Doc with company code-dependent data, the company code is replaced with the cross-system company code in all company code fields. When receiving this kind of IDoc the reverse conversion takes place on the target system.
    In this section you maintain the cross-system company codes and allocate them to the local company codes.
    Recommendation
    The use of cross-system company codes and business areas in distributed financial accounting is a provisional measure. SAP reserves the right to replace this in a future release with a tool that allows a conversion for all the organizational units of the SAP system.
    Therefore SAP recommends that you choose consistent identifiers for the company code and the cross-system company code.
    Activities
    1. Create a cross-system company code.
    2. Assign the cross-system company code to a chart of accounts to which it is also assigned on the central system.
    This setting is needed on the decentral systems in order to determine the chart of accounts of the company code on the central system.
    3. Assign cross-system company codes to the local company codes.
    Specify the identifiers of the relevant cross-system company codes for each of the individual company codes.

  • Retreive company code data  from t001k and plants from t001w based on bwkey

    here is my sample code pls.
      pls look into the  perform <b>PERFORM F_GET_COMPANY_CODE</b>.
    and also the link between the tables (custom) like ysda_exp_prtlog,
         Purpose:  The Monthly export declaration summarizes all SAD     *
                   export documents produced by the system. For each     *
                   plant in France this declaration has to be handed to  *
                   the Customs Authorities, together with copies of all  *
                   invoices mentioned in the report.                     *
         Preds/Successors : -                                            *
         External Datasets: -                                            *
         INCLUDE PROGRAM  : YYSDFORM                                     *
           MODIFICATION LOG
    Date  | Change Number | Initials | Description
    *01/10/03| G9DK943416    | AXJIRAP  | INITIAL PROGRAM                  *
    *03/10/03| G9DK943416    | TXHONGP  | CREATE PRINT-PROGRAM FOR ACCELIO *
    *26/10/03| G9DK943416    | KXSAWAS  | Merge all Accelio forms into one *
    *02/02/04| G9DK959869    | KXSAWAS  | Bug fix for Intercompany invoice *
           |               |          | and updating printing no. in     *
           |               |          | YSDA_DOC_NUMBER.
    *09/02/04| G9DK960368    | KXSAWAS  | TICKET AM6219029 various fix     *
           | G9DK960972    | KXUMNAUY | -Add yuei for download file      *
           | G9DK961073    |          | -Calculate invoice in case       *
           | G9DK961190    |          |  invoce is not yet made          *
           | G9DK961211    |          | -Fixed message type when there is*
           |               |          | no data found                    *
    *18/02/04| G9DK961418    | PXSOPHO  | -Shift the position in download  *
           |               |          | file
    *26/02/04| G9DK962077    | kxumnauy | TICKET AM6219029 various fix     *
           | G9DK962238    |          | TICKET AM6289971 fix export file *
           | G9DK962271    |          |
    *18/03/04| G9DK963806    | PXSOPHO  | TICKET AM6442955,AM6384438
           | G9DK964432    |          | - print only 4 chars of the
           | G9DK964590    |          | export procedure                 *
           |               | KXUMNAUY | - Fix internal report
           |               | KXSAWAS  | - Fix invoice currency to EUR.
           |               |          | - Fix SUASUNIC probelm when
           |               |          |   download file
    *09/06/04| G9DK968994    | KXUMNAUY |TICKET AM6789203
           | G9DK969188    |          |- Fix box 4 to print the department
           | G9DK969246    |          |code(first 2 char of the postal)
           | G9DK969319    |          |- Fix to print all invoice numbers
           | G9DK969345    |          |reported in the section 3
           | G9DK969466    |          |- Fix in case invoice currency is
           |               |          |not EUR, use local currency from
           |               |          |accounting document
           |               |          |- Fix in case there are different
           |               |          |codes are loaded on one truck
           |               |          |- Fix the invoice amount in column
           |               |          |27 has to be the amount relating to
           |               |          |the line item
           |               |          |- Fix the issue that Pro forma
           |               |          |invoice for STO (ZF8)shouldn't be
           |               |          |counted to be the final Interco
           |               |          |invoice
    *20/08/04| G9DK972875    | KXUMNAUY |AM7387219
           | G9DK973032    |          |-Exclude samples from the internal
           |               |          |sections 1 and 2
           |               |          |-Data pages: Column 11. When the
           |               |          |invoice amount is less then 1.000
           |               |          |EUR and the quantity is less then.
           |               |          |1.000 then "******" (6 x *) has to
           |               |          |be printed
    *07/02/05| G9DK983160    | RXBOONG  |AM8522207
           | G9DK983168    |          |Fix download to unix file
    *17/08/06| G9DK9A02DZ    | NKONGNG  |AM1983727:
           | G9DK9A02IK    |          |-do not show sample orders
           |               |          | (order type “FD” or ”ZFD”)
           |               |          |AM2985407:
           |               |          |-skip all “T2L*” documents
    *15/12/06| G9DK9A05GB    | ZZPWANA  | AM10208238
           |               | The Monthly Export Declaration for plant FR95
           |               | is showing invoice amounts in SGD in column
           |               | 27, where amounts in EUR should be shown. As
           |               | the amounts are labeled as EUR in column 26
           |               | this is unacceptable.The second issue is that
           |               | there are no invoice numbers shown in column
           |               | REM.
           |               | >> ZZPWANA:AM10208238:G9DK9A05GB <<
           |               | >> ZZPWANA:AM10208238:G9DK9A05GJ <<
    *05/02/07| G9BK900812    | PPATTAN  |AM10687113
           | G9DK9A0661    |          |Correction to the Monthly Export
           |               |          |Declaration – alpha character to
           |               |          |numeric field
           |               |
    *09/07/07| G9DK9A09ND    |VSRKODA   Replace plant with companycode,add
                                      new  column plant ,add new logic to
                                      verify that we had received *  *
                                      BAEcOMPLETE RESPONSE (fROM FC)
                                      for all the export transactions
    REPORT YSDF5092 LINE-SIZE   310
                    LINE-COUNT   65
                    NO STANDARD PAGE HEADING
                    MESSAGE-ID YSD_GENERAL.
         INCLUDE PROGRAM FOR ACCELIO                                     *
    INCLUDE YYSDFORM.    "Include for Accelio Print Process
    INCLUDE YSDF006B_INCLUDE.
         T A B L E S                                                     *
    TABLES: NAST.
         T Y P E S                                                       *
    TYPES : BEGIN OF TY_RAW,
              WERKS LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
              BWKEY  LIKE  YSDA_EXP_PRTLOG-YY_PLANT,
              VALUE_FROM  LIKE  YCACEDI-VALUE_FROM,
    *<-- End of G9DK9A09ND
              HEADER_SHT LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,  "G9DK962238
              PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
              PRINT_TIME LIKE YSDA_EXP_PRTLOG-YY_PRINT_TIME,
              DOCUMENT_CODE LIKE YSDA_EXP_PRTLOG-YY_DOCUMENT_CODE,
              HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              DELIVERY LIKE YSDA_EXP_PRTLOG-YY_DELIVERY,
              INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
              EX_RATE LIKE YSDA_EXP_PRTLOG-YY_EX_RATE,
              CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
             INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO, "G9DK962238
              EXTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_EXTERNAL_NO,
              COMMODITY LIKE YSDA_EXP_PRTLOG-YY_COMMODITY,
              REPORT_FLAG LIKE YSDA_EXP_PRTLOG-YY_REPORT_FLAG,  "G9DK962077
            END OF TY_RAW.
    TYPES : BEGIN OF TY_DATA,
              HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
              PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
              ZOLLA LIKE EIKP-ZOLLA,
              STGBE LIKE EIKP-STGBE,
              EXPVZ LIKE EIKP-EXPVZ,
              CONTA LIKE EIKP-CONTA,
              IEVER LIKE EIKP-IEVER,
              PDEST LIKE KNA1-LAND1,
              1DEST LIKE KNA1-LAND1,
              COMMODITY LIKE YSDA_EXP_PRTLOG-YY_COMMODITY,
              STATISTIC TYPE I,
              LFIMG LIKE LIPS-LFIMG,
              L15 TYPE I,
              REGFI(2),
              CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
              INVOICE_AMT TYPE I,
              ZDELN LIKE VBRK-VBELN,
              LIVRE(4),
              EXPRF LIKE EIPO-EXPRF,
              EXART LIKE EIPO-EXART,
              NTGEW LIKE LIKP-NTGEW,
              YY_SEQTAXNO LIKE VBRK-YY_SEQTAXNO,                "G9DK959869
            END OF TY_DATA.
    TYPES : BEGIN OF TY_HEADER,
              HEADER_SHT LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              PRINT_NO LIKE YSDA_DOC_NUMBER-YY_PRINT_NO,
              WERKS LIKE T001W-WERKS,
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
              BUKRS  LIKE T001K-BUKRS,
              BWKEY  LIKE  T001K-BWKEY,
              VALUE_FROM LIKE YCACEDI-VALUE_FROM,
    *<-- End of G9DK9A09ND
              NAME1 LIKE T001W-NAME1,
              COM_NAME LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              POST_LOC LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              CUST_OFFICE LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              POST_CODE LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              DATE(25),
              ETAB LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              NO_SIREN LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT2 LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT5 LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT7A LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT7B LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT8 LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
            END OF TY_HEADER.
    TYPES : BEGIN OF TY_DELIVERY,
              VBELN LIKE LIKP-VBELN,
              POSNR LIKE LIPS-POSNR,                            "G9DK961190
              VBUND  LIKE LIKP-VBUND,
              LFIMG LIKE LIPS-LFIMG,
              MEINS LIKE LIPS-MEINS,
              EXNUM LIKE LIKP-EXNUM,
              KUNNR LIKE LIKP-KUNNR,
              KUNAG LIKE LIKP-KUNAG,
              L15 LIKE LIPS-LFIMG,
              WADAT_IST LIKE LIKP-WADAT_IST,
              LDDAT LIKE LIKP-LDDAT,
              NTGEW LIKE LIKP-NTGEW,
              MATNR LIKE MARA-MATNR,
              VRKME LIKE LIPS-VRKME,                            "G9DK960368
              VGBEL LIKE LIPS-VGBEL,                            "G9DK961190
              VGPOS LIKE LIPS-VGPOS,                            "G9DK961190
              UECHA LIKE LIPS-UECHA,                            "G9DK961190
            END OF TY_DELIVERY.
    TYPES : BEGIN OF TY_INVOICE,
              ZDELN LIKE VBRK-VBELN,
              NETWR LIKE VBRK-NETWR,
              WAERK LIKE VBRK-WAERK,
              KURRF LIKE VBRK-KURRF,
              FKIMG LIKE VBRP-FKIMG,
              VRKME LIKE VBRP-VRKME,
            END OF TY_INVOICE.
    TYPES : BEGIN OF TY_INVOICE_TEMP,
              ZDELN LIKE VBRK-VBELN,
              FKART LIKE VBRK-FKART,
              YY_SEQTAXNO LIKE VBRK-YY_SEQTAXNO,
            END OF TY_INVOICE_TEMP.
    TYPES : BEGIN OF TY_EXPORT,
              EXNUM LIKE EIKP-EXNUM,
              ZOLLA LIKE EIKP-ZOLLA,
              STGBE LIKE EIKP-STGBE,
              EXPVZ LIKE EIKP-EXPVZ,
              CONTA LIKE EIKP-CONTA,
              IEVER LIKE EIKP-IEVER,
              EXPRF LIKE EIPO-EXPRF,
              EXART LIKE EIPO-EXART,
              EXPOS LIKE EIPO-EXPOS,                            "G9DK961190
              STAWN LIKE EIPO-STAWN,                            "G9DK961190
            END OF TY_EXPORT.
    TYPES : BEGIN OF TY_HFILE,
              POS1(8),
              POS2(4),
              POS3(2),
              POS4,
              POS5(8),
              POS6(4),
              POS7(14),
              POS8(20),
              POS9(20),
              POS10(20),
              POS11(8),
            END OF TY_HFILE.
    TYPES : BEGIN OF TY_DFILE,
             pos1(18),                                        "G9DK961418
             POS1(19),                                        "G9DK961418
              POS1(18),                                         "G9DK962238
              POS2(4),
              POS3(8),
              POS4(6),
              POS5(6),
              POS5A(4),
              POS6(9),
              POS6A(5),                                         "G9DK962238
              POS7(5),
              POS8(5),
              POS8A(22),
              POS9,
              POS10,
              POS11,
              POS12,
              POS13(5),
              POS13A,
              POS14(13),
              POS14A(31),
              POS15(2),
              POS16(2),
              POS16A(3),
              POS17(4),
              POS17A(3),
              POS18(3),
              POS18A(9),                                        "G9DK962238
              POS19,
              POS20(11),
              POS21(11),
              POS22(10),
              POS23(10),
              POS23A(40),
              POS24(4),
              POS25(3),
              POS26,
              POS26A,
              POS27,
              POS28(3),
              POS29,
            END OF TY_DFILE,
            BEGIN OF TY_TVKO,                                   "G9DK959869
              VKORG     LIKE TVKO-VKORG,                        "G9DK959869
              BUKRS     LIKE TVKO-BUKRS,                        "G9DK959869
              KUNNR     LIKE TVKO-KUNNR,                        "G9DK959869
            END OF TY_TVKO.                                     "G9DK959869
         D A T A                                                         *
    DATA: GV_CUST_NUM LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
          GV_SIREN LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
          GV_REP_NO LIKE YSDA_DOC_NUMBER-YY_PRINT_NO,
          GV_SEQ_NO TYPE I VALUE 0,
          GV_PRNTER     LIKE TSP01-RQDEST,      "Printer Name
          GV_DATE(8)   TYPE C,       "DATE
          GV_MONTH(2)  TYPE C,       "MONTH
          GV_DAY(2)    TYPE C,       "DAY
          GV_YEAR(4)   TYPE C,       "YEAR
          GV_ADD1(30)  TYPE C,       "TEXT-SIMBOL H01A
          GV_ADD2(30)  TYPE C,       "TEXT-SIMBOL H01B
          GV_COUNT     TYPE I,       "COUNT SEQUENCE
          GV_SEQUENCE(5) TYPE C,     "SEQUENCE
          GV_COPYNO    TYPE C,       "NUMBER OF COPY
          GV_DATETEMP(10)  TYPE C,   "DATE
          GV_SECTIONPAGE(2)   TYPE C,   "NO. OF PAGE IN SECTION
          GV_ITEM             TYPE I,   "NO. OF ITEM
          GV_EUR       LIKE VBRK-WAERK VALUE 'EUR',
          GV_INVOICE_NO       LIKE VBRK-VBELN,                  "G9DK959869
          GV_INVOICE_INTERCOM LIKE VBRK-VBELN,                  "G9DK959869
          GV_PRO_FORMA_STO    LIKE VBRK-VBELN,                  "G9DK969466
          GV_TEXT46           LIKE YSDA_DOC_FIXTEXT-YY_TEXT.    "G9DK959869
         C O N S T A N T S                                               *
    CONSTANTS: GC_M VALUE 'M',
               GC_J VALUE 'J',
               GC_C VALUE 'C',
               GC_D VALUE 'D',
               GC_E VALUE 'E',
               GC_F VALUE 'F',
               GC_U VALUE 'U',
               GC_X VALUE 'X',
               GC_0 VALUE '0',
               GC_2 VALUE '2',
               GC_3 VALUE '3',
               GC_MEXP(4) VALUE 'MEXP',
               GC_ZAAD(4) VALUE 'ZAAD',
               GC_ZSAD(4) VALUE 'ZSAD',
               GC_CY(2) VALUE 'CY',
               GC_M1(2) VALUE 'M1',
               GC_M2(2) VALUE 'M2',
               GC_M4(2) VALUE 'M4',
               GC_M5(2) VALUE 'M5',
               GC_M6(2) VALUE 'M6',
               GC_M7(2) VALUE 'M7',
               GC_M8(2) VALUE 'M8',
               GC_M9(2) VALUE 'M9',
               GC_C3(2) VALUE 'C3',
               GC_00(2) VALUE '00',
               GC_C1(2) VALUE 'C1',
               GC_C2(2) VALUE 'C2',
               GC_SI(2) VALUE 'SI',
               GC_N1(2) VALUE 'N1',
               GC_N2(2) VALUE 'N2',
               GC_FR(2) VALUE 'FR',
               GC_EN(2) VALUE 'EN',
               GC_TON LIKE T006-MSEHI VALUE 'TO',
               GC_L15 LIKE T006-MSEHI VALUE 'L15',
               GC_GRWR(4) VALUE 'GRWR',
               GC_SAISUNIC(8) VALUE 'SAISUNIC',
               GC_000000(6) VALUE '000000',
              GC_1 VALUE '1',                                 "G9BK900812
               GC_1 LIKE PLFH-MGVGW VALUE '1',                  "G9BK900812
               GC_DOT(1) VALUE '.',
               GC_TYP_EU(3)  TYPE C VALUE 'EU ',
               GC_TYP_EX(3)  TYPE C VALUE 'EX ',
               GC_TYP_COM(3) TYPE C VALUE 'COM',
               GC_BIS(3)     TYPE C VALUE 'BIS',
               GC_EUR(3)     TYPE C VALUE 'EUR',
               GC_IV(2)      TYPE C VALUE 'IV',
               GC_ZTDR(4)    TYPE C VALUE 'ZTDR',
               GC_ZF8(3)     TYPE C VALUE 'ZF8',
               GC_ZIV(3)     TYPE C VALUE 'ZIV',
               GC_FALSE(1)   TYPE C VALUE ' ',                 "yuie
               GC_STRUCT(31) TYPE C VALUE 'DATA',              "yuie
               GC_TOTAL TYPE VTXTM VALUE 'TOTAL NET UNIT PRICE',"G9DK960368
            GC_INTER_PERCENT TYPE VTXTM VALUE 'Inter-company %'."G9DK960368
         I N T E R N A L  T A B L E S                                    *
    DATA: BEGIN OF IT_DOC OCCURS 0,
            VBELN LIKE LIKP-VBELN,
            FKART LIKE VBRK-FKART,
            ERDAT LIKE VBFA-ERDAT,
            ERZET LIKE VBFA-ERZET,
            ZDELN LIKE VBRK-VBELN,
          END OF IT_DOC,
          BEGIN OF IT_VBRK OCCURS 0,
            ZDELN LIKE VBRK-VBELN,
          END OF IT_VBRK,
          BEGIN OF IT_SALES OCCURS 0,
            VBELN LIKE LIKP-VBELN,
            VBELV LIKE VBAK-VBELN,     "Order Number
            AUART LIKE VBAK-AUART,
            KNUMV LIKE VBAK-KNUMV,
            KALSM LIKE VBAK-KALSM,                              "G9DK960368
            WAERK LIKE VBAK-KALSM,                              "G9DK960368
            KNUMA LIKE VBAK-KNUMA,                              "G9DK960368
          END OF IT_SALES,
    *--> begin of G9DK961190 kxumnauy 13 feb 2004
          BEGIN OF IT_VBAP OCCURS 0,
             VBELN   LIKE  VBAK-VBELN,           " Sale doc.
             POSNR   LIKE  VBAP-POSNR,           " Sales document item
             KNUMV   LIKE  VBAK-KNUMV,           " No. of the document cond.
             KALSM   LIKE VBAK-KALSM,
             WAERK   LIKE VBAK-KALSM,
             KNUMA   LIKE VBAK-KNUMA,
          END OF IT_VBAP,
    *<-- end of G9DK961190
          BEGIN OF IT_KSCHL OCCURS 0,
            KNUMV LIKE KONV-KNUMV,
            KBETR LIKE KONV-KBETR,
            WAERS LIKE KONV-WAERS,                              "G9DK960368
          END OF IT_KSCHL,
          BEGIN OF IT_VBKD OCCURS 0,
            VBELV LIKE VBAK-VBELN,
            INCO1 LIKE VBKD-INCO1,
          END OF IT_VBKD,
          BEGIN OF IT_COUNTRY OCCURS 0,
            KUNNR LIKE KNA1-KUNNR,
            LAND1 LIKE KNA1-LAND1,
          END OF IT_COUNTRY,
          BEGIN OF IT_CNO OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
          END OF IT_CNO,
          BEGIN OF IT_LNO OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
           END OF IT_LNO,
          BEGIN OF IT_LINV OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
            EX_RATE LIKE YSDA_EXP_PRTLOG-YY_EX_RATE,
            LFIMG LIKE LIPS-LFIMG,
            ZDELN LIKE VBRK-YY_SEQTAXNO,
          END OF IT_LINV,
          BEGIN OF IT_DIFF OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            VBELV LIKE VBAK-VBELN,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
            EX_RATE LIKE YSDA_EXP_PRTLOG-YY_EX_RATE,
            LFIMG LIKE LIPS-LFIMG,
            NETWR LIKE VBRK-NETWR,
            WAERK LIKE VBRK-WAERK,
            KURRF LIKE VBRK-KURRF,
            FKIMG LIKE VBRP-FKIMG,
            ZDELN LIKE VBRK-YY_SEQTAXNO,
          END OF IT_DIFF.
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
    Data :Begin  of it_t001k occurs 0,
          bwkey  like t001k-bwkey,
          bukrs   like t001k-bukrs,
          werks   like t001w-werks,
        end of it_t001k.
    TABLES: T001W.
    Data :Begin  of it_t001w occurS 0,
          bwkey  like t001w-bwkey,
         werks   like t001w-werks,
        end of it_t001w.
    *<-- End of G9DK9A09ND
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
    DATA: BEGIN OF IT_SIREN OCCURS 0,
          VALUE_FROM  LIKE YCACEDI-VALUE_FROM,
          MESTYP  LIKE  YCACEDI-MESTYP,
          DIRECT   LIKE YCACEDI-MESTYP,
          ORG_LEVEL  LIKE YCACEDI-ORG_LEVEL,
          ORG_VALUE  LIKE YCACEDI-ORG_VALUE,
          FIELDNAME  LIKE YCACEDI-FIELDNAME,
        END OF IT_SIREN.
    *<-- End of G9DK9A09ND
    *--> Begin of G9DK959869 KXSAWAS 02/02/2004
    DATA: BEGIN OF IT_ORDER OCCURS 0,
            VBELN LIKE VBAK-VBELN,        " Order no.
            VKORG LIKE VBAK-VKORG,        " Sale Org. of order
          END OF IT_ORDER,
          BEGIN OF WA_T001W,
            WERKS  LIKE   T001W-WERKS,    " Plant
            BUKRS  LIKE   T001K-BUKRS,
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
            BWKEY  LIKE   T001K-BWKEY,
    *<-- End of G9DK9A09ND
            VKORG  LIKE   T001W-VKORG,    " Sale Org. of plant
            COUNC  LIKE   T001W-COUNC,    " Country code
            LAND1  LIKE   T001W-LAND1,    "
            ADRNR  LIKE   T001W-ADRNR,
            ORT01  LIKE   T001W-ORT01,
          END OF WA_T001W,
          BEGIN OF IT_LIKP OCCURS 0,
            VBELN  LIKE LIKP-VBELN,        " Delivery
            VKORG  LIKE LIKP-VKORG,        " Sale organization
            KUNNR  LIKE LIKP-KUNNR,        " Ship-to party
            INCO1  LIKE LIKP-INCO1,        " Incoterm part1
            INCO2  LIKE LIKP-INCO2,        " Incoterm part2
          END OF IT_LIKP.
    *<-- End of G9DK959869
    DATA: IT_RAW TYPE TABLE OF TY_RAW WITH HEADER LINE,
          IT_DATA TYPE TABLE OF TY_DATA WITH HEADER LINE,
          IT_EXPORT TYPE TABLE OF TY_EXPORT WITH HEADER LINE,
          IT_DELIVERY TYPE TABLE OF TY_DELIVERY WITH HEADER LINE,
          IT_INVOICE TYPE TABLE OF TY_INVOICE WITH HEADER LINE,
          IT_FILE TYPE TABLE OF TY_DFILE WITH HEADER LINE,
          IT_HEADER TYPE TABLE OF TY_HEADER WITH HEADER LINE,
          IT_SELTAB TYPE TABLE OF RSPARAMS WITH HEADER LINE,
          IT_INVOICE_TEMP TYPE TABLE OF TY_INVOICE_TEMP WITH HEADER LINE,
          IT_TVKO_ORDER   TYPE TABLE OF TY_TVKO WITH HEADER LINE,"G9DK959869
          IT_DEL TYPE TABLE OF TY_DELIVERY WITH HEADER LINE.    "G9DK960368
    *--> Begin of G9DK960368 KXSAWAS 05/02/2004
    DATA: BEGIN OF YUIE_ITAB OCCURS 0,
           RECID(31),
           DATA(1024).
    DATA: END   OF YUIE_ITAB.
    TYPE-POOLS: YUIEX.
    *DATA : it_komv2     LIKE komv   OCCURS 0 WITH HEADER LINE. "G9DK961190
    *<-- End of G9DK960368
    *Begin of G9DK964590 kxumnauy 30 mar 2003
    DATA: BEGIN OF KEY_ZBAT01,
            MANDT           TYPE ZBAT01-MANDT,
            REPID           TYPE ZBAT01-REPID,
            FUNCT           TYPE ZBAT01-FUNCT,
          END OF KEY_ZBAT01.
    *End of G9DK964590
    *--> Begin of G9DK968994 kxumnauy
    DATA: BEGIN OF IT_INVOICE_ITEM OCCURS 0,
            VBELN LIKE VBRP-VBELN,
            POSNR LIKE VBRP-POSNR,
            NETWR LIKE VBRP-NETWR,
            VGBEL LIKE VBRP-VGBEL,
            VGPOS LIKE VBRP-VGPOS,
            MATNR LIKE VBRP-MATNR,
             fkimg LIKE VBRP-fkimg,               "G9DK969188
             vrkme LIKE VBRP-vrkme,               "G9DK969188
            ntgew LIKE VBRP-ntgew,                              "G9DK969188
            gewei LIKE VBRP-gewei,                              "G9DK969188
          END OF IT_INVOICE_ITEM.
    *<-- End of G9DK968994
    RANGES: S_LAST FOR SY-DATUM,
            S_PERIOD FOR SY-DATUM.
         W O R K A R E A S                                               *
    DATA: WA_RAW TYPE TY_RAW,
          WA_DATA TYPE TY_DATA,
          WA_EXPORT TYPE TY_EXPORT,
          WA_DOC LIKE IT_DOC,
          WA_SALES LIKE IT_SALES,
          WA_SALES1 LIKE IT_SALES,                              "G9DK972875
          WA_KSCHL LIKE IT_KSCHL,
          WA_VBKD LIKE IT_VBKD,
          WA_COUNTRY LIKE IT_COUNTRY,
          WA_DELIVERY TYPE TY_DELIVERY,
          WA_INVOICE TYPE TY_INVOICE,
          WA_LINV LIKE IT_LINV,
          WA_CNO LIKE IT_CNO,
          WA_LNO LIKE IT_LNO,
          WA_DIFF LIKE IT_DIFF,
          WA_HEADER TYPE TY_HEADER,
          WA_VBRK LIKE IT_VBRK,
          WA_FILE TYPE TY_DFILE,
          WA_HFILE TYPE TY_HFILE,
          WA_SELTAB TYPE RSPARAMS,
          WA_INVOICE_TEMP TYPE TY_INVOICE_TEMP,
          WA_TVKO_PLANT TYPE TY_TVKO,                           "G9DK959869
          WA_LIKP       LIKE IT_LIKP,                           "G9DK959869
          WA_DEL        LIKE IT_DELIVERY,                       "G9DK960368
          WA_KOMK       LIKE KOMK,                              "G9DK960368
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
          WA_T001K     LIKE T001K.
    *<-- End of G9DK9A09ND
         S E L E C T   -   O P T I O N S   /   P A R A M E T E R S       *
    SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-001.
    *Begin of change  VSRKODA
    PARAMETERS: P_BUKRS LIKE T001K-BUKRS,
               S_WERKS LIKE T001W-WERKS,
    *end of change   VSRKODA
                P_MNR LIKE T247-MNR,
                P_YEAR LIKE VBRK-GJAHR.
    SELECT-OPTIONS:   S_WERKS  FOR T001W-WERKS.
    PARAMETERS: P_PRNTER  LIKE TSP01-RQDEST.  "Printer Name
              p_file AS CHECKBOX.                            "yuie
    SELECTION-SCREEN END OF BLOCK SCR1.
    *--> Begin of G9DK960368 KXSAWAS 05/02/2004
    *--- Comment out ---
    *SELECTION-SCREEN BEGIN OF BLOCK b2
                   WITH FRAME TITLE text-t01.
    *PARAMETERS:     p_fname LIKE rlgrap-filename .
    *SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-T01.
    PARAMETERS: P_FILE AS CHECKBOX.
    PARAMETERS: P_FNAME   TYPE EPSFILNAM LOWER CASE,  "interface UNIX file
                P_SPATH   TYPE EPSDIRNAM DEFAULT
                '/opt/mobil/batch/gem/other/common/data/' LOWER CASE.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-T03.
    PARAMETERS: P_INTID    TYPE YINT_IDS     DEFAULT 'DCG_REPORT',
                P_SUBID    TYPE YINT_SUB_IDS DEFAULT 'MAIN'.
    SELECTION-SCREEN END OF BLOCK B3.
    *<-- End of G9DK960368
    AT SELECTION SCREEN
    AT SELECTION-SCREEN.
    To validate the data that user entered in the selection screen
      PERFORM F_VALIDATE_DATA.
      PERFORM F_GET_COMPANY_CODE.
         I N I T I A L I Z A T I O N                                     *
    INITIALIZATION.
      P_MNR = SY-DATUM+4(2).
      P_YEAR = SY-DATUM+0(4).
    *--> Begin of G9DK960368 KXSAWAS 05/02/2004
    *---Set default unix file name yuie
      CONCATENATE 'DCG_SAISUNIC' SY-UNAME
                INTO P_FNAME
                SEPARATED BY '_'.
    *<-- End of G9DK960368
         B E G I N - O F - S E L E C T I O N                             *
    START-OF-SELECTION.
      GV_PRNTER = P_PRNTER.
      PERFORM F_INIT_PERIOD.
      PERFORM F_GET_CURRENT_REPORT_NUMBER.
    PERFORM F_GET_COMPANY_CODE.
      PERFORM F_EXTRACT_RAW_DATA.
      PERFORM F_PROCESS_DATA.
      IF SY-BATCH EQ GC_X.
        PERFORM F_UPDATE_REPORT_NUMBER.
      ENDIF.
    END-OF-SELECTION.
      IF NOT ( IT_HEADER[] IS INITIAL AND IT_DATA[] IS INITIAL AND
                  IT_CNO[] IS INITIAL AND IT_LNO[]  IS INITIAL AND
                IT_LINV[] IS INITIAL AND IT_DIFF[] IS INITIAL ).
        PERFORM F_PRINT_ACCELIO.
      ELSE.
        MESSAGE ID 'YM' TYPE 'I' NUMBER '032'                   "G9DK961073
            WITH 'No data found for entered criteria'(E01).
        EXIT.
      ENDIF.
    *If run by batch job print invoice
      IF SY-BATCH EQ GC_X.
        PERFORM F_PRINT_INVOICE.
      ENDIF.
         B E G I N  O F  F O R M                                         *
    *&      Form  F_INIT_PERIOD
          Period
    FORM F_INIT_PERIOD.
      DATA: LV_FIRST LIKE SY-DATUM,
            LV_CURRENT LIKE SY-DATUM,
            LV_LAST LIKE SY-DATUM,
            LV_DTEMP_FIRST(12) TYPE C,
            LV_DTEMP_LAST(12) TYPE C.
      LV_FIRST+0(4) = P_YEAR.
      LV_FIRST+4(2) = P_MNR.
      LV_FIRST+6(2) = '01'.
    LAST DAY OF CURRENT MONTH
      CALL FUNCTION 'LAST_DAY_OF_MONTHS'
           EXPORTING
                DAY_IN            = LV_FIRST
           IMPORTING
                LAST_DAY_OF_MONTH = LV_CURRENT
           EXCEPTIONS
                DAY_IN_NO_DATE    = 1
                OTHERS            = 2.
      IF SY-SUBRC = 0.
        IF P_MNR < '2'.
          LV_FIRST+0(4) = P_YEAR - 1.
          LV_FIRST+4(2) = '12'.
          LV_FIRST+6(2) = '01'.
        ELSE.
          LV_FIRST+0(4) = P_YEAR.
          LV_FIRST+4(2) = P_MNR - 1.
          LV_FIRST+6(2) = '01'.
        ENDIF.
      LAST DAY OF LAST MONTH
        CALL FUNCTION 'LAST_DAY_OF_MONTHS'
             EXPORTING
                  DAY_IN            = LV_FIRST
             IMPORTING
                  LAST_DAY_OF_MONTH = LV_LAST
             EXCEPTIONS
                  DAY_IN_NO_DATE    = 1
                  OTHERS            = 2.
        IF SY-SUBRC = 0.
          LV_FIRST = '20040101'.                                "G9DK973032
    LAST MONTH
          S_LAST-SIGN = 'I'.
          S_LAST-OPTION = 'BT'.
          S_LAST-LOW = LV_FIRST.
          S_LAST-HIGH = LV_LAST.
          APPEND S_LAST.
    LAST MONTH AND CURRENT MONTH
          S_PERIOD-SIGN = 'I'.
          S_PERIOD-OPTION = 'BT'.
          S_PERIOD-LOW = LV_FIRST.
          S_PERIOD-HIGH = LV_CURRENT.
          APPEND S_PERIOD.
        ENDIF.
      ENDIF.
    ENDFORM.                    " F_INIT_PERIOD
    *&      Form  F_GET_CURRENT_REPORT_NUMBER
          Get current Seq. no. from YSDA_DOC_NUMBER
    FORM F_GET_CURRENT_REPORT_NUMBER.
      DATA: LV_RC LIKE SY-SUBRC.
      CHECK SY-BATCH = GC_X.
      DO 3 TIMES.
        PERFORM F_LOCK_OBJECT CHANGING LV_RC.
        IF LV_RC <> 0.
          PERFORM F_WAIT.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
      IF LV_RC <> 0.
        PERFORM F_UNLOCK_OBJECT.
        PERFORM F_LOCK_OBJECT CHANGING LV_RC.
      ENDIF.
      SELECT SINGLE YY_PRINT_NO
        INTO GV_REP_NO
        FROM YSDA_DOC_NUMBER
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
        where yy_plant  = P_WERKS
    *<-- End of G9DK9A09ND
       WHERE YY_PLANT IN S_WERKS
        AND YY_YEAR = P_YEAR
         AND YY_DOCUMENT_CODE = GC_MEXP.
    *--> Begin of G9DK959869 KXSAWAS 02/02/2004
      IF SY-BATCH = GC_X.
        GV_REP_NO = GV_REP_NO + 1.
      ELSE.
        GV_REP_NO = 0.
      ENDIF.
    *<-- End of G9DK959869
    ENDFORM.                    " F_GET_CURRENT_REPORT_NUMBER
    *&      Form  F_GET_COMPANY_CODE
          text
    -->  p1        text
    <--  p2        text
    FORM F_GET_COMPANY_CODE.
    CLEAR: it_t001k-bwkey.
    Validate input data against master table of SAP
    Validate company code  against T001k
      IF NOT P_BUKRS IS INITIAL.
        SELECT  T001K~BUKRS
                T001K~BWKEY
                T001W~WERKS
          INTO CORRESPONDING FIELDS OF TABLE IT_T001K
          FROM T001K
      INNER JOIN T001W ON T001W~BWKEY = T001K~BWKEY
          WHERE  BUKRS = P_BUKRS
          AND WERKS IN S_WERKS.
         APPEND IT_T001K.
         select t001kbukrs t001kbwkey t001w~werks
         into corresponding fields of table itab
            from t001w
                  inner join t001k
                      on t001kbwkey = t001wbwkey.
        LOOP AT IT_T001K.
       it_t001k-bwkey = it_t001w-werks.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " F_GET_COMPANY_CODE
    *&      Form  F_EXTRACT_RAW_DATA
          Extract entries from YSDA_EXP_PRTLOG
    FORM F_EXTRACT_RAW_DATA.
      SELECT YY_PLANT
             YY_HEADER_TYP
             YY_INTERNAL_NO
             YY_PRINT_DATE
             YY_PRINT_TIME
             YY_DOCUMENT_CODE
             YY_HEADER_TYP
             YY_DELIVERY
             YY_INVOICE_AMT
             YY_EX_RATE
             YY_CURRENCY
            YY_INTERNAL_NO                  "G9DK962238
             YY_EXTERNAL_NO
             YY_COMMODITY
             YY_REPORT_FLAG                                     "G9DK962077
        INTO corresponding fields of TABLE IT_RAW
        FROM YSDA_EXP_PRTLOG
      WHERE YY_PLANT IN S_WERKS
    **-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
        where yy_plant  = s_werks
    **<-- End of G9DK9A09ND
        and  YY_PRINT_DATE IN S_PERIOD+
         AND YY_REPORT_FLAG <> 'X'                              "G9DK973032
         AND YY_HEADER_TYP <> 'T2L'                           "G9DK9A02DZ
         AND YY_ANNULATION <> 'X'.
    *If run by batch job
    *--> Begin of G9DK959869 KXSAWAS 02/02/2004
    *--- Comment out ---
    IF sy-batch EQ gc_x.
       IF NOT it_raw[] IS INITIAL.
         LOOP AT it_raw.
    **Update YY_REPORT_FLAG EQ 'X'
           UPDATE ysda_exp_prtlog SET yy_report_flag = gc_x
                         WHERE yy_plant  = p_werks
                         AND   yy_print_date = it_raw-print_date
                         AND   yy_print_time = it_raw-print_time
                         AND   yy_document_code = it_raw-document_code.
         ENDLOOP.
       ENDIF.
    ENDIF.
    *<-- End of G9DK959869
      LOOP AT IT_RAW.
        IT_RAW-HEADER_SHT = IT_RAW-HEADER_SHT+0(3).
        MODIFY IT_RAW.
      ENDLOOP.
      SORT IT_RAW BY WERKS HEADER_SHT INTERNAL_NO               "G9DK962271
      PRINT_DATE.                                               "G9DK962238
    ENDFORM.                    " F_EXTRACT_RAW_DATA
    *&      Form  F_PROCESS_DATA
          Extract all required data
    FORM F_PROCESS_DATA.
      PERFORM F_EXTRACT_DOC_FLOW.
      PERFORM F_EXTRACT_INCO_TERM.
      PERFORM F_EXTRACT_DELIVERY_DATA.
      PERFORM F_EXTRACT_INVOICE_DATA.
      PERFORM F_EXTRACT_EXPORT_DATA.
      PERFORM F_EXTRACT_HEADER_DATA.
      PERFORM F_EXTRACT_COMPANY.                                "G9DK959869
      PERFORM F_CLASSIFY_DATA.
    ENDFORM.                    " F_PROCESS_DATA
    *&      Form  F_EXTRACT_DOC_FLOW
          Extract Sale data
    FORM F_EXTRACT_DOC_FLOW.
      IF NOT IT_RAW[] IS INITIAL.
        SELECT VBELV
               VBTYP_N
               ERDAT
               ERZET
               VBELN
          INTO TABLE IT_DOC
          FROM VBFA
          FOR ALL ENTRIES IN IT_RAW
         WHERE VBELV = IT_RAW-DELIVERY
          AND ( VBTYP_N = 'M'
             OR VBTYP_N = '5' ).
        SELECT A~VBELN
               A~VBELV
               B~AUART
               B~KNUMV
               B~KALSM                                          "G9DK960368
               B~WAERK                                          "G9DK960368
               B~KNUMA                                          "G9DK960368
          INTO TABLE IT_SALES
          FROM VBFA AS A INNER JOIN VBAK AS B
            ON AVBELV = BVBELN
          FOR ALL ENTRIES IN IT_RAW
         WHERE A~VBELN = IT_RAW-DELIVERY
           AND A~VBTYP_N = GC_J.
      ENDIF.
      SORT IT_SALES BY VBELN VBELV.
      DELETE ADJACENT DUPLICATES FROM IT_SALES COMPARING ALL FIELDS.
      SORT IT_DOC BY VBELN ASCENDING
                     FKART ASCENDING
                     ERDAT DESCENDING
                     ERZET DESCENDING.
      DELETE ADJACENT DUPLICATES FROM IT_DOC COMPARING ALL FIELDS.
      IF NOT IT_SALES[] IS INITIAL.
        SELECT KNUMV
               KBETR
               WAERS                                            "G9DK960368
          INTO TABLE IT_KSCHL
          FROM KONV
          FOR ALL ENTRIES IN IT_SALES
         WHERE KNUMV = IT_SALES-KNUMV
           AND KSCHL = GC_GRWR.
      ENDIF.
      SORT IT_KSCHL BY KNUMV.
    ENDFORM.                    " F_EXTRACT_DOC_FLOW
    *&      Form  F_EXTRACT_INCO_TERM
          Extract inco term
    FORM F_EXTRACT_INCO_TERM.
      IF NOT IT_SALES[] IS INITIAL.
        SELECT VBELN
      

    What's wrong with F_GET_COMPANY_CODE ?  Below is similar code - try running this and seeing what you get:
    report zlocal_jc_t001w.
    tables:
      t001k,     "Valuation area
      t001w.     "Plants/Branches
    parameters:
      p_bukrs          like t001k-bukrs default '1000'.
    select-options:
      s_werks          for t001w-werks.
    start-of-selection.
      perform get_data.
    *&      Form  get_data
    form get_data.
      data:
        begin of gt_t001k occurs 10,
          bukrs             like t001k-bukrs,
          bwkey             like t001k-bwkey,
          werks             like t001w-werks,
        end of gt_t001k.
      select
        t001k~bukrs
        t001k~bwkey
        t001w~werks
        into corresponding fields of table gt_t001k
        from t001k as t001k
        inner join t001w as t001w on t001w~bwkey = t001k~bwkey
        where t001k~bukrs = p_bukrs
        and   t001w~werks in s_werks.
      loop at gt_t001k.
        write: /
          gt_t001k-bukrs,
          gt_t001k-bwkey,
          gt_t001k-werks.
      endloop.
    endform.                    "get_data
    As for links to locally defined database tables, that will depend on what the keys defined in SE11 are e.g. there will be a primary key plus relationships to other tables (for example "WERKS LIKE YSDA_EXP_PRTLOG-YY_PLANT" indicates YY_PLANT relates to T001W).
    Jonathan

  • How to reassign new chart of accounts to company code

    I created company code, assigned fiscal year K4 to 4040 co. code. Later on I created Open/Close Posting period/Assign Company code to Fiscal Year. I prepared new chart of accounts 4040 for Canadian company.
    When I tried to assign 4040 chart of accounts to my company code in Fin Actg Global Settings, I notcied that automaticlly CACA (Chart of accounts Canada was already assigned. I tried to replac CACA by 4040 But error message "Reset company code data before changing the chart of accounts"
    I tried to delete G/L accounts Tnasaction code OBR1 & OBR2 But nothing changed.
    I wish to assignment of chart of accounts in company code in Global settings & wish to re-assign different chart of accounts. I have not created any assignment of company code to controlling area, plant, sales organization, etcu2026 While removing this it says Reset company code data before changing the chart of accounts. Screenshot is attached.
    1)       When I am trying to remove assignment of K4 fiscal year to company code it does not allow me. SO how to solve this problem.
    Should I delete company code & then retry the same?
    Please suggest how to reassign chart of accounts to company code as no data like customer, vendor or sales transaction is made.
    Pl advise solution THANKS

    Hi Paul,
    Thanks for the answer. I have not copy any company code to my co. code 4040. Just as new entry I created 4040 company code. In Org object Check everything about table found OK. No seprate G/L A/C is created by me for co. code 4040
    To see if company code is productive means Active? In "Enter Global Parameter? Tab-->Cost of Sales Accounting ACTV is 2. When I tried to make it Inactive (Blank), it is not allowing me and showing error msg as below.
    You do this in Customizing as follows: Cross-Application Components -> Bank Directory -> Change Message Control.
    I checked this but asking for Application Area to put & I do not know hwat area I should put.
    Am I going right as suggested by you?
    I had deleted G/L accounts earlier but Sales Actg is active so sould not go ahead.
    As per Venkat I had decided to delete company code, But I want to solve without deletion.
    I am SD guy so asking many Qs of FICO as I am learning now.
    Thanks
    Reason why you are not able to delete the assignment is that, you have already created GL accounts for the COA. I hope you have not done any posting using those GL accounts.
    First of all please make that you company code is not set as productive. if set prodictive you will not be able to delete any master data. So please remove the productive check(if any).
    Then you try to delete the GL account that you have created for the COA. once you delete the GL account the system might ask for the deletion of the account group. After that you should be able to change the assignment.

  • F.01 restriction based on Company Code

    Hi Team,
    We wants to restrict the use of F.01 tcode based on the company code but i don't see any object where i can restrict this.
    Please provide any solution for this
    Regards
    Narinder

    Hi Narinder/V A Joshi
    Can transaction FC10N be used instead?
    Looking at SE93 definitions, F.01 uses program RFBILA00 and FC10N uses program RFBILA00N. It looks like FC10N is the new version (I thought a lot of the F.* transactions were replaced).
    Can you confirm with functional team if the FC10N transaction should be used instead of F.01? You should then be able to restrict on object F_BKPF_BUK.
    Regards
    Colleen

  • Creation of 2 new company codes in continuation with existing compny code.

    Hi
    Our company has got 2 locations but we are using only one company code for both the locations from the last 4 years.
    Now due to expansion of business we have extended our business to one more location. So.now are planning to use 3 company codes.
    Now I want to know the following things:-
    1. What are the things that are to be done before creating these two additional company codes?
    2. What will be the impact of  these new company codes on the existing company codes?
    3. How the present reports can be used for the new company codes?
    4. How the GL balances will be uploaded for the new compny codes?
    5. How the master data will be created for the new company codes?
    6. What will be the impact of the new company codes on other modules like MM, SD and HR which are already in use?
    Please guide me on the above issue co months of experience.
    considering the fact that I am a fresher in SAP FI and I have
    only 8 months of experience.
    Regards
    Vikram sairam

    Hi Vikcy,
    Company Code is legal Entity and core component in FI.
    Now u r planning create new company codes, just check below:
    01. Chart of Accounts:
         - You may use existing chart of account for new com. code
    02. Controlling Area:
          -  Check the feasibility of cross company code controlling or not. If you maintain one:one relation in existing controlling area, u need to create new one.
    03. SD:  Core component is Sale Organization.  U need to assign them to ur Company Codes. So check accordingly.
    03. MM/ PP:  Plants and Purchasing Organization need to assign to Company Codes.
    Hope it will give you idea on a whole to plan, how u need plan to go ahead.
    Regards,
    Venkat

  • Extraction of CO Plan data with filter on company code

    Hello,
    I have this urgent requirement:
    Extracting CO Plan data (from COSP) by selecting on the company code.
    Problem: company code not in extract structure used by 0CO_OM_CCA_1
    Actual data are extracted with 0CO_OM_CCA_9.
    My first idea was to use make an append to the extract structure of 0CO_OM_CCA_1 (i.e. BUKRS) and to fill this new field in the CMOD enhancement.
    Do you have any other hint?
    Thxs.
    LauQ

    Hi,
    I donot think the Selection works with any Customer enhanced fields(i.e the fields foe which, code written in CMOD) . So you have to keep filter some where either in Transfer rules or in update rules.
    Or Check whether you can replace the datassource 0CO_OM_CCA_1 with the datasources:
    0CO_OM_CCA_10
    0CO_OM_CCA_9.
    With rgds,
    Anil Kumar Sharma .P
    Message was edited by:
            Anil Kumar Sharma
    Message was edited by:
            Anil Kumar Sharma

  • STO - Two plants within Different Company Codes

    Hello,
    Kindly help me out with this case, i want to create a STO for two plants within DIFFERENT company codes, so i've created all the required configuration and master data including creating the supplying plant as a vendor and the ordering plant as a customer, also all master data is maintained in both plants and i tried the scenario on the IDES system and it works okay so i know i'm on the right procedures. The problem is that i create the PO, but when i go to Transaction Code VL10B to create the delivery it gives me an error ( Delivery with no Line item not allowed ) even though there is more than enough stock in the storage location. Kindly help me out.

    17.01.2010     Stock                            10.500,000      0,000      10.300,000
    13.01.2010     Order     Totals record     100,000-     100,000      10.300,000
    13.01.2010     Deliv.     Totals record     100,000-     100,000      10.300,000
    17.01.2010     StLcSt     SLFR     10.500,000      0,000      10.300,000
    13.01.2010     Order     Totals record     100,000-     100,000      10.300,000
    13.01.2010     Deliv.     Totals record     100,000-     100,000      10.300,000
    17.01.2010     BtchSt     123     10.500,000      0,000      10.400,000
    13.01.2010     Deliv.     Totals record     100,000-     100,000      10.400,000
    17.01.2010     BStLoc     123       /SLFR     10.500,000      0,000      10.400,000
    13.01.2010     Deliv.     Totals record     100,000-     100,000      10.400,000
    This is the whole table.
    This is what i got. i believe that it is an availability check problem, i just can't see what is the solution.
    SLFR is the Storage location of the issuing plant.

  • Extended Withholding Tax in Country DE, Company Code 1000 in ECC 5 IDES

    hi all
    can we configure extended withholding tax for the company code 1000 in ECC5 IDES. even after making the whole configuration, while maintaining vendor master code an error message is coming.
    message: Entry DE  15 does not exist in T059Z - check your entry
    Message no. 00058
    15 is Tax Code
    i am getting some values in the customisation help hit like "Financial Accounting Basic Settings (New)" but it is not available in the IMG MENU. is it not availbale in IDES.
    it is very urgent and i am stuck up. pls provide some inputs
    regards,
    ashok

    Please, check in the IMG that you have correctly defined the table
    T059Z:
    Financial Accounting -> Financial Accounting Global Settings ->
        Withholding Tax -> Extended Withholding Tax -> Calculation ->
        Withholding Tax Codes -> Define withholding tax codes
    Please, also check the customizing of the vendor's Account Group
    and set the field Tax category as optional:
    Trans. OBD3 -> Select account group -> Company Code Data ->
        W/holding tax data, w/h tax 2 -> Withholding tax category
    Regards
    Siva

  • Delete G/L Accounts for one company code when transaction data exists

    SAP transaction OBR1 can be used to reset transaction data.
    If you execute this transaction for a specific company code, the FI transaction data of that company is deleted. Because of the procedure to keep FI and CO in line, also the CO data has te be deleted.
    But you can not reset CO transaction data for one company code. You have to reset CO transaction data for a whole controlling area.
    If you can not delete the FI and CO transaction data for a specific G/L account in one company code, you can not delete that G/L account.
    There exists another solution for the deletion of FI and CO transaction data for one company code, and thus for the deletion of G/L accounts?
    Thank you very much for your feedback.
    Edited by: E. Deleu on Mar 3, 2008 3:42 PM

    Helllo,
    I believe the account group information is what you get when loading hierarchies. Please look into the hierarchy extractor 0GL_ACCOUNT_T011_HIER.
    Regards,
    Christoffer

  • Global Company Code

    Hi All,
    While we transfer documents for customer Master and vendor Master and bank Master through ALE then it requires for 'Global Company code' which I have to assign under Company code global parameters.
    Can anyone explain me for what reason this customization required and will it affect any other  R/3 customization?
    Kindly clear my doubts.
    Thanks & Regards
    Ajoy

    Even if you do not have Special Purpose Ledger functionality, if you need to transfer company-code specific data between system using ALE (IDocs), you will have to define global company code (also called as cross-system company code) and assign it to company code.  Read the following SAP IMG activity documentation.
    There are global organizational units which must be named the same in all systems to avoid any errors occurring in the distributed environment. Local organizational units are assigned to global organizational units in the individual systems.
    There are global organizational units for the organizational units:
    Company code
    Business area
    If you want to use ALE, you have to assign the local organizational units to the global organizational units in your systems to ensure that they are used consistently in the distributed environment.
    Cross-system company codes are used in the distribution in financial accounting. There is exactly one central system for each cross-system company code in the distributed environment. One company code has to be assigned to this cross-system company code on each system involved in the distribution.
    When sending an IDoc with company code-dependent data, the company code is replaced with the cross-system company code in all company code fields. When receiving this kind of IDoc the reverse conversion takes place on the target system.

  • Company code and  Ship-To Party: variable values should be dynamic

    Hi,
    We have queries where we have  Company code & Ship-To Party as Variable parameters.
    While executing the report the user has to give the Variable values for both company code and ship to party.
    But when they give the company code.....in the next parameter ship to party, it has to offer values which belongs to that company code only. But here it is offering all values form ship to party., where user don't want to see the value from other company code as they have lot of values there which is causing inconvenience to the user.
    Kindly suggest me how to restrict the values at variable level.
    Thanks & Regards,
    Anand

    Hi,
    You can do that using BADI BW_BADI_F4 .
    You can use this BAdI to restrict input help for entry variables in the BI variable screen.
    Create a separate implementation for each required InfoObject.
    The BAdI is designed for multiple use.
    Restricting input help without using hierarchies
    To restrict input help for flat object lists without using hierarchies, use method Get_Restriction_Flat.
    Method GET_RESTRICTION_FLAT
    I_VNAM Variable
    I_IOBJNM InfoObject
    I_T_VAR_RANGE Table of entries on the variable screen
    I_T_COMPID Table of participating queries
    C_T_RANGE Range table with other restrictions
    C_INFOPROV InfoProvider
    C_F4_Mode F4 mode
    Entry parameters I_VNAM and I_IOBJNM return the names of the variables and the InfoObject that F4 helpwill be affected for. I_T_VAR_RANGE returns additional values from the variable screen entered beforethe call. These are returned in a range table that does not, however, return any information about variables that cannot be entered. I_T_COMPID is a list of participating BI queries.
    If there is a single InfoProvider, entry and return parameter C_INFOPROV contains the InfoProvider forthe participating queries, and can be overwritten in the implementation. Especially when you have justone MultiProvider, this allows you to restrict the input help to one of the physical InfoProviders ifyou also set the F4 mode to u201CDu201D (input help from dimension tables). The mode can onlybe set to u201CDu201D in conjunction with physical InfoProviders, as dimension values are otherwisenot available. If you reference to a VirtualProvider that is based on a data transfer process, you always need to set mode u201CMu201D (input help from master data)
    Return table C_T_RANGE is a range table of additional restrictions that can be used in the implementation.These restrictions are identical to restrictions that the system makes in the standard setting. It is therefore not possible to add to the list.
    The following restrictions are permitted in C_T_RANGE:
    u2022Restrictions for InfoObject I_IOBJNM itself (for example using a specified range)
    u2022Restrictions to groups of InfoObjects (for example restriction of the fiscal year variant for fiscal years)
    u2022Restrictions by the InfoObjectu2019s navigation attributes.
    For technical reasons, pure display attributes cannot be used.
    You can also make a restriction to physical InfoProviders. In this case, the input help is restrictedto the specified physical InfoProviders. Field IOBJNM in table C_T_RANGE then has to be set to 0INFOPROV.In the case of a MultiProvider using physical InfoProviders with mode u201CDu201D (input help from dimension tables), the input help is built from all participating physical InfoProviders.
    Entry and return parameter C_F4_MODE describes the retrieval method for the F4 help:
    u2022In mode u201CMu201D, the input help is built from the master data.
    u2022In mode u201CDu201D, the input help is built from the dimension tables of physical InfoProviders.
    The choice of method is therefore always dependent on the choice of InfoProvider.
    Restricting input help using hierarchies
    To restrict input help for flat object lists using hierarchies, use method Get_Restriction_Node.
    Method GET_RESTRICTION_NODE
    I_VNAM Variable
    I_IOBJNM InfoObject
    I_T_VAR_RANGAE Table of entries on the variable screen
    I_T_COMPID Table of participating queries
    C_T_HIERARCHY Table of possible hierarchies
    C_T_NODE Table with node restrictions
    C_INFOPROV InfoProvider
    C_F4_Mode F4 mode
    On the whole, this method is the same as method GET_RESTRICTION_FLAT. Instead of a C_T_RANGE, the additional node restrictions can be submitted using table C_T_NODE.
    C_T_HIERARCHY contains the hierarchies that can be used based on the existing query restrictions. Ifthis table contains multiple entries, the system uses the first hierarchy in the standard setting. In a BAdI implementation, specific entries can be removed in order to select the required hierarchy.
    Table C_T_NODE can be filled with individual nodes in order to restrict the hierarchy to the corresponding subtrees.
    All other parameters are the same for Get_Restriction_Node as described above for method Get_Restriction_Flat.
    For more information about implementing BAdIs for the enhancement concept, see the SAP Library for SAP NetWeaver, under BAdIs u2013 Embedding in the Enhancement Framework..
    Regards,
    Durgesh.

Maybe you are looking for

  • Multiple values from same column in diffetent columns in same row??

    Hi all, I am wondering how you can display different values from the same column into different columns on same row. For example using a CASE statement I can: CASE WHEN CODE IN ('1', '3') THEN COUNT( ID) END as "Y" CASE WHEN CODE NOT IN ('1', 'M') TH

  • Redistilling PDF some pages have been converted from cmyk to rgb.

    When re-distilling a pdf on certain files, some pages convert to rgb, even though the setting "High Quality Print" in Acrobat is set up leave colours unchanged. Same problem occurs on Acobat X, 9, 8 versions. Any help or suggestions appreciated.

  • Content presenter edit icon not appearing

    I am relatively new in this area ....I have an ADF application where i have the UCM connection defined. I expanded the UCM folders in the connection pallette of Jdeveloper and dropped an image from a folder in UCM repository as Content presenter task

  • Downloaded WMV files not showing video

    When receive an email with a .wmv file, it appears to download correctly.  When I attempt to play the file, the normal controls appear at the bottom...but I get no video, only a black screen.  I can hear the audio playing, and it shows the meter belo

  • Songs stay on iPhone after Match

    After syncing with iMatch in iTunes, the songs are still on the phone.  9GB out of 16GB are audio files.  When connected in iTunes under Music, it says iTunes Match is on, and my iphone can access music in iCloud.  I'm not synching music, but the mus