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.
JagadeeshHi 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 ]
AnilDear 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 -
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,
VidyaDear 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 THANKSHi 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
NarinderHi 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 sairamHi 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.
LauQHi,
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,
ashokPlease, 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 PMHelllo,
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 -
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
AjoyEven 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,
AnandHi,
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