Sold to Party data transfer from Order to Notification
Hi,
According to our process, the person who reports a malfunction or requests service for customer can also generate the appropriate order. In Order Customizing, the indicator "Maintain Notification data on order header" is set, this enables system to immediately create a notification in the background when you create the order. Due to this, reference objects, dates, work center, etc are automatically copied from Order to Notifications as expected. However, Sold-to Party / Customer is not getting copied from Order to Notification.
Following items have been configured:
- Both order & notification have the same partner procedure
- No user-exit is active
- We do not copy the partner from the reference object(e.g. equipment) to the service order. We plan to enter the customer number directly in the service order (as the equipment is not going to have a customer/partner number)
- "Copy Partner Functions to Master and Movement Data" customizing is activated for our partner procedure
Any suggestions, which will enable copying of customer / sold-to party data from Order to notification through configuration.
Thanks in advance. Please let me know if you need any further details.
Regards,
Avinash
[OSS Note 546738|https://websmp130.sap-ag.de/sap%28bD1lbiZjPTAwMQ==%29/bc/bsp/spn/sapnotes/index2.htm?numm=546738]
http://www.sapfans.com/forums/viewtopic.php?f=7&t=323195&start=0&st=0&sk=t&sd=a
Please check the above links. Also make that partner function as mandatory for that notification type & then try.
Similar Messages
-
Program terminated error after entering sold to party no. in sales order
hello friends,
can any help me, i was doing the topic of user exit for pre-defined sold to party using v45a0002 in cmod and i wrote a program for include 'if sy-uname= 'sapuser'.
message e000(0) with ' you are not authorised to create so'
endif
while activating i got error msg 'The last statement is not complete (period missing)." & i have saved inspite error
after i tried create a order
program terminated error after entering sold to party no. in sales order
so i have deactivated the project created in cmod & deleted the project inspite i am getting the program terminated error
i am sending total error plz reply quickly urgent friends
Runtime Errors SYNTAX_ERROR
Date and Time 19.04.2008 17:51:58
ShrtText
Syntax error in program "SAPLXVVA ".
What happened?
Error in ABAP application program.
The current ABAP program "SAPLVKMP" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
In program "SAPLXVVA ", the following syntax error occurred
in the Include "ZXVVAU04 " in line 5:
"The last statement is not complete (period missing)."
Author and last person to change the Include are:
Author "SAPUSER "
Last changed by "SAPUSER "
What can you do?
Please eliminate the error by performing a syntax check
(or an extended program check) on the program "SAPLXVVA ".
You can also perform the syntax check from the ABAP/4 Editor.
If the problem persists, proceed as follows:
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
Error analysis
In program "SAPLXVVA ", the following syntax error occurred:
"The last statement is not complete (period missing)."
How to correct the error
Probably the only way to eliminate the error is to correct the program.
If you cannot solve the problem yourself and you wish to send
an error message to SAP, include the following documents:
1. A printout of the problem description (short dump)
To obtain this, select in the current display "System->List->
Save->Local File (unconverted)".
2. A suitable printout of the system log
To obtain this, call the system log through transaction SM21.
Limit the time interval to 10 minutes before and 5 minutes
after the short dump. In the display, then select the function
"System->List->Save->Local File (unconverted)".
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, select the Editor function "Further Utilities->
Upload/Download->Download".
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "640"
Application server....... "mtpl7"
Network address.......... "192.100.10.1"
Operating system......... "Windows NT"
Release.................. "5.1"
Hardware type............ "2x Intel 801586"
Character length......... 8 Bits
Pointer length........... 32 Bits
Work process number...... 0
Short dump setting....... "full"
Database server.......... "MTPL7"
Database type............ "ORACLE"
Database name............ "ERP"
Database owner........... "SAPERP"
Character set............ "English_United State"
SAP kernel............... "640"
Created on............... "Nov 4 2004 23:26:03"
Created in............... "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
Database version......... "OCI_920_SHARE "
Patch level.............. "43"
Patch text............... " "
Supported environment....
Database................. "ORACLE 8.1.7.., ORACLE 9.2.0.."
SAP database version..... "640"
Operating system......... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
Memory usage.............
Roll..................... 8112
EM....................... 8362368
Heap..................... 0
Page..................... 122880
MM Used.................. 4229224
MM Free.................. 995472
SAP Release.............. "640"
User and Transaction
Client.............. 800
User................ "SAPUSER"
Language key........ "E"
Transaction......... "VA01 "
Program............. "SAPLVKMP"
Screen.............. "SAPMV45A 4701"
Screen line......... 16
Information on where terminated
The termination occurred in the ABAP program "SAPLVKMP" in
"SD_DETERMINE_KKBER".
The main program was "SAPMV45A ".
The termination occurred in line 0 of the source code of the (Include)
program " "
of the source code of program " " (when calling the editor 00).
Contents of system fields
Name
Val.
SY-SUBRC
0
SY-INDEX
0
SY-TABIX
1
SY-DBCNT
1
SY-FDPOS
4
SY-LSIND
0
SY-PAGNO
1
SY-LINNO
8
SY-COLNO
1
SY-PFKEY
U
SY-UCOMM
SY-TITLE
Create Standard Order kb: Overview
SY-MSGTY
E
SY-MSGID
VP
SY-MSGNO
106
SY-MSGV1
BUS2032
SY-MSGV2
SY-MSGV3
SY-MSGV4
Active Calls/Events
No. Ty. Program Include Line
Name
13 FUNCTION SAPLVKMP LVKMPU41 91
SD_DETERMINE_KKBER
12 FUNCTION SAPLVKMP LVKMPU41 91
SD_DETERMINE_KKBER
11 FUNCTION SAPLV09B LV09BU30 148
SD_PCHECK_PAYER_IN_CREDITAREA
10 FUNCTION SAPLV09B LV09BU26 296
SD_PARTNER_EXECUTE_CHECKS
9 FUNCTION SAPLV09B LV09BU25 57
SD_PARTNER_CHECK_BEFORE
8 FUNCTION SAPLV09A LV09AU26 342
SD_PARTNER_SINGLE_MODIFY
7 FORM SAPLV09A LV09AF39 176
PARTNER_SELECTION
6 FUNCTION SAPLV09A LV09AU29 820
SD_PARTNER_DETERMINATION
5 FUNCTION SAPLV05E LV05EU01 654
VIEW_KUAGV
4 FORM SAPMV45A MV45AF0K_KUAGV_SELECT 40
KUAGV_SELECT
3 FORM SAPMV45A MV45AF0A_AUFTRAGGEBER_PRUEFEN 46
AUFTRAGGEBER_PRUEFEN
2 FORM SAPMV45A MV45AF0K_KUNDEN_PRUEFEN 454
KUNDEN_PRUEFEN
1 MODULE (PAI) SAPMV45A MV45AI0K_KUNDEN_PRUEFEN 15
KUNDEN_PRUEFEN
Chosen variables
Name
Val.
No. 13 Ty. FUNCTION
Name SD_DETERMINE_KKBER
I_KKBER_KNVV
2222
0000
I_KKBER_T001
8888
3333
8888
I_KKBER_TVTA
2222
0000
I_KUNNR
7000000000
3333333333
7000000000
I_SPART
SM
54
3D
I_VKORG
T000
5333
4000
I_VTWEG
S4
53
34
XVBAK
00000000000000 000000000000000000000000 00000000
2222222222222333333333333332222222222223333333333333333333333332222222223333333322222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
E_KNVV_FLG
2
0
RC
0
0000
0000
XVBKD[]
Table[initial]
XVBPA[]
Table IT_1743[2x542]
FUNCTION=SD_PCHECK_PAYER_IN_CREDITAREADATA=LVT_CREDIT_XVBPA
Table reference: 275
TABH+ 0(20) = 70A2883B388BC43B0000000013010000CF060000
TABH+ 20(20) = 020000001E020000FFFFFFFF04910100D82F0000
TABH+ 40( 8) = 02000000C1248400
store = 0x70A2883B
ext1 = 0x388BC43B
shmId = 0 (0x00000000)
id = 275 (0x13010000)
label = 1743 (0xCF060000)
fill = 2 (0x02000000)
leng = 542 (0x1E020000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000209
occu = 2 (0x02000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 1
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x28C1883B
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 1 (0x01000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 2 (0x02000000)
lineAlloc = 2 (0x02000000)
store_id = 690 (0xB2020000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = 0x00000000
hsdir = 0x00000000
ext2 = 0x28A4883B
>>>>> 2nd level extension part <<<<<
tabhBack = 0x109C883B
delta_head = 000000000000000000000000000000000000000000000000000000000000000000000000
pb_func = 0x00000000
pb_handle = 0x00000000
I_KKBER
2222
0000
FCODE_KOMM_LIEF_MENGE_SICH
MOD2
44432222222222222222
DF420000000000000000
SYST-REPID
SAPLVKMP
5454544522222222222222222222222222222222
310C6BD000000000000000000000000000000000
%_SPACE
2
0
FCODE_KONFIGURATION1
POKO
54442222222222222222
0FBF0000000000000000
CREDIT_CHECK
2222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000
SY-REPID
SAPLVKMP
5454544522222222222222222222222222222222
310C6BD000000000000000000000000000000000
SAV_BUKRS
SS00
5533
3300
CHAR_
2
0
%_DUMMY$$
2222
0000
AUTOMO_VOLVO
08
33
08
SPACE
2
0
FCODE_ABRUF_GENERIEREN
PABG
54442222222222222222
01270000000000000000
XVBRK
00000000 0000000
2222222222222222222222222222222222222222222222223333333322222222223333333222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
KOPGR_LIEFERPLAN
LL
4422
CC00
FCODE_ZUSAETZE_FAB
PFZU
54552222222222222222
06A50000000000000000
FCODE_REPARATUR
PREP
55452222222222222222
02500000000000000000
XVBKD
000000 #####0000000000 ####
2222222222222333333222222222222222222222222222222222222222222222222200000333333333322222220000
000000000000000000000000000000000000000000000000000000000000000000000000C000000000000000000000
FCODE_GEFAHRGUT
KGGP
44452222222222222222
B7700000000000000000
I_KKBER_HELP
2222
0000
T001
800SS00SRIYA TEXTILES HYDERABAD IN INR EINT 10K41 0000050495DE1
3335533554542545544452222222222245445444422222222222222224424452244452334332222223333333333443
800330032991045849C530000000000089452121400000000000000009E09E20059E4010B410000000000050495451
FCODE_STOFFBERICHTE
IEHS
44452222222222222222
95830000000000000000
T001-BUKRS
SS00
5533
3300
No. 12 Ty. FUNCTION
Name SD_DETERMINE_KKBER
I_KKBER_KNVV
2222
0000
I_KKBER_T001
8888
3333
8888
I_KKBER_TVTA
2222
0000
I_KUNNR
7000000000
3333333333
7000000000
I_SPART
SM
54
3D
I_VKORG
T000
5333
4000
I_VTWEG
S4
53
34
XVBAK
00000000000000 000000000000000000000000 00000000
2222222222222333333333333332222222222223333333333333333333333332222222223333333322222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
E_KNVV_FLG
2
0
RC
0
0000
0000
XVBKD[]
Table[initial]
XVBPA[]
Table IT_1743[2x542]
I_KKBER
2222
0000
XVBKD
000000 #####0000000000 ####
2222222222222333333222222222222222222222222222222222222222222222222200000333333333322222220000
000000000000000000000000000000000000000000000000000000000000000000000000C000000000000000000000
I_KKBER_HELP
2222
0000
No. 11 Ty. FUNCTION
Name SD_PCHECK_PAYER_IN_CREDITAREA
FIC_OBJECTKEY
2222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000
FIC_OBJECTTYPE
BUS2032
4553333222
2532032000
FIF_CHECKTYPE
I
4
9
FIF_MSGTYPE
E
4
5
FIF_NRART
KU
45
B5
FIF_PARGR
TA
5422
4100
FIF_PARNR
7000000000
3333333333
7000000000
FIF_PARVW
RG
5422
2700
FIF_POSNR
000000
333333
000000
FIF_RTYPE
0003
3333
0003
FIS_SDORGDATA
T000S4SMZSOR
533353545545222222
4000343DA3F2000000
FRF_MESSAGES
0
0000
0000
FRF_MESSAGE_COUNT
0
0000
0000
LVF_KKBER2
2222
0000
LVF_KUNNR
7000000000
3333333333
7000000000
SYST-REPID
SAPLV09B
5454533422222222222222222222222222222222
310C609200000000000000000000000000000000
LVF_KURGV2
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
SY-MSGV4
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
SY-MSGV2
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
FIS_SDORGDATA-SPART
SM
54
3D
FIS_SDORGDATA-VKORG
T000
5333
4000
FIS_SDORGDATA-VTWEG
S4
53
34
%_O_SD_PARTNER_CONTEXT-HEX_0004
1
0
LVT_CREDIT_XVBPA
Table IT_1743[2x542]
LVF_KKBER1
2222
0000
GCS_HERTAB
ABCDEFG
24444444
01234567
%_DUMMY$$
2222
0000
SY-SUBRC
0
0000
0000
LVF_BEFORE_PARVW
2222
0000
No. 10 Ty. FUNCTION
Name SD_PARTNER_EXECUTE_CHECKS
FIC_OBJECTKEY
2222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000
FIC_OBJECTTYPE
BUS2032
4553333222
2532032000
FIF_BEFORE
2
0
FIF_CHECKTYPE
I
4
9
FIF_DIALOG
2
0
FIF_MSGTYPE_TO_EXEC
E
4222
5000
FIF_NRART
KU
45
B5
FIF_PARGR
TA
5422
4100
FIF_PARNR
7000000000
3333333333
7000000000
FIF_PARVW
RG
5422
2700
FIF_POSNR
000000
333333
000000
FIF_RTYPE
0003
3333
0003
FIS_SDORGDATA
T000S4SMZSOR
533353545545222222
4000343DA3F2000000
FRF_MESSAGES
0
0000
0000
FRF_MESSAGE_COUNT
0
0000
0000
LVF_ALL_PREDECESSORS_SUCCEEDED
X
5
8
FALSE
2
0
GS_MARKED_PARTNERS
222222222222
000000000000
LVT_CHECKCALLSTACK
Table IT_1515[21x52]
FUNCTION=SD_PARTNER_EXECUTE_CHECKSDATA=LVT_CHECKCALLSTACK
Table reference: 219
TABH+ 0(20) = E8C3863B0000000000000000DB000000EB050000
TABH+ 20(20) = 1500000034000000F00000000491010058090000
TABH+ 40( 8) = 15000000C1248000
store = 0xE8C3863B
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 219 (0xDB000000)
label = 1515 (0xEB050000)
fill = 21 (0x15000000)
leng = 52 (0x34000000)
loop = 240 (0xF0000000)
xtyp = TYPE#000033
occu = 21 (0x15000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x90BF863B
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 21 (0x15000000)
lineAlloc = 21 (0x15000000)
store_id = 595 (0x53020000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
LVS_CHECKCALLSTACK_WA
80000018BUS2030 SD_PCHECK_PAYER_IN_CREDITAREA XX
3333333345533332225455444445545455445454445454422255
80000018253203000034F03853BF01952F9EF325494125100088
GT_MARKED_FOR_DEL_PARTNERS
Table[initial]
LVS_CHECKCALLSTACK_WA-FUNCNAME
SD_PCHECK_PAYER_IN_CREDITAREA
545544444554545544545444545442
34F03853BF01952F9EF32549412510
GC_NO_ACTION
2
0
GC_NEW_PARTNER
I
4
9
GVC_PARTNER_CONTEXT
CONTEXT_X_SD_PARTNER_CONTEXT fò####################################################
44454555555455455445544454552222222222226F0000000000000000000000000000000000000000000000000000
3FE4584F8F34F0124E52F3FE4584000000000000620000000000000000000000000000000000000000000000000000
GC_ERROR
E
4
5
GC_PROCESSMODE_DIALOG
D
4
4
LVF_MSGTYP
E
4
5
BUFFER_FULL_FILLED
F
4
6
POS_NUL
000000
333333
000000
BUFFER_PARTITIAL_FILLED
P
5
0
%_ARCHIVE
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
GCS_PARTNER_ROLETYPES
0001000200030004000500060007000800090010001100120013NONE
33333333333333333333333333333333333333333333333333334444
0001000200030004000500060007000800090010001100120013EFE5
GCS_PARTNER_TYPE
KUAPLIPE
45454454
B510C905
LVF_RTYPE
0003
3333
0003
GCS_PARTNER_CALL_BACK_EVENTS
CHANGE DELETE NEW
444444222244445422224452222222
381E75000045C5450000E570000000
%_PRINT
000 0 ##
2222333222222222222222222222222222222222222222222222222222222222222222222222222222222222223200
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
GCF_INITIAL_PARTNER
0
32
00
GCF_CALLER_TRANSPORT
T
5
4
TPACHECKRELATION
0000000000
2223333333333
0000000000000
GC_APPL_LOG
SDBFPD
54445422222222222222
34260400000000000000
SY-REPID
SAPLV09B
5454533422222222222222222222222222222222
310C609200000000000000000000000000000000
GVC_PARTNER_CONTEXT-B0007-PARVW
RG
54
27
No. 9 Ty. FUNCTION
Name SD_PARTNER_CHECK_BEFORE
FIC_OBJECTKEY
2222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000
FIC_OBJECTTYPE
BUS2032
4553333222
2532032000
FIF_BEFORE
2
0
FIF_CHECKTYPE
I
4
9
FIF_DIALOG
2
0
FIF_NRART
KU
45
B5
FIF_PARGR
TA
5422
4100
FIF_PARNR
7000000000
3333333333
7000000000
FIF_PARVW
RG
5422
2700
FIF_POSNR
000000
333333
000000
FIF_RTYPE
0003
3333
0003
FIS_SDORGDATA
T000S4SMZSOR
533353545545222222
4000343DA3F2000000
FRF_MESSAGES
0
0000
0000
FRF_MESSAGE_COUNT
0
0000
0000
LS_STATISTICS
########################4 ################
00000000000000000000000032220000000000000000
00000000000000000000000040000000000000000000
No. 8 Ty. FUNCTION
Name SD_PARTNER_SINGLE_MODIFY
FIC_OBJECTKEY
2222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000
FIC_OBJECTTYPE
BUS2032
4553333222
2532032000
FIF_BOKRE
2
0
FIF_CLEAR_APPL_LOG
X
5
8
FIF_DIALOG
2
0
FIF_HARD_DELETION
2
0
FIF_HISTUNR
00
33
00
FIF_HZUOR
00
33
00
FIF_INITIAL_VALUE
X
5
8
FIF_KNREF_PARNR
2222222222
0000000000
FIF_KUNNR_NEW
7000000000
3333333333
7000000000
FIF_KUNNR_OLD
2222222222
0000000000
FIF_LISTPROCESSING
2
0
FIF_MANUAL_ADDRESS
2222222222
0000000000
FIF_MANUAL_ADDRESS_ORIGIN
2
0
FIF_NO_CPD_DIALOG
2
0
FIF_NO_DIALOG
2
0
FIF_NO_MESSAGES
2
0
FIF_PARGR
TA
5422
4100
FIF_PARTIAL_NEW_DETERMINATION
2
0
FIF_PARVW
RG
5422
2700
FIF_POSNR
000000
333333
000000
FIF_PRFRE
2
0
FIF_VKORG
2222
0000
FIS_SDORGDATA
T000S4SMZSOR
533353545545222222
4000343DA3F2000000
FEV_ACTION_DONE
I
4
9
FRF_LOG_COUNT
0
0000
0000
SYST-REPID
SAPLV09A
5454533422222222222222222222222222222222
310C609100000000000000000000000000000000
GVT_LOCAL_CALL_BACK_MEMORY[]
Table[initial]
%_SPACE
2
0
SY-REPID
SAPLV09A
5454533422222222222222222222222222222222
310C609100000000000000000000000000000000
LVF_ACTION_TODO
I
4
9
GC_UPD_PARTNER
U
5
5
%_VIASELSCR
0
4
%_ARCHIVE
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
GCS_PARTNER_ROLETYPES-SHIP_TO
0002
3333
0002
LVF_NRART
KU
45
B5
LVF_KUNNR_NEW
7000000000
3333333333
7000000000
GCS_ADDRESS_GROUP
SD01CA01
54334433
34013101
GCF_APPL_TABLE_SD
VBUK
5454222222
625B000000
LVF_ROLETYPE
0003
3333
0003
RSJOBINFO
00000000000000 ####
222222222222222222222222222222223333333333333322222222222222222222222222222222220000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000
LVF_MESSAGE_COUNT
0
0000
0000
%_DUMMY$$
2222
0000
GCF_ADDRESS_TYPE_CONT_PERSON
3
3
3
No. 7 Ty. FORM
Name PARTNER_SELECTION
TVTA
000
222222222222222222222222222222222333222222222222222
000000000000000000000000000000000000000000000000000
TPAER
00
22222222222222332222
00000000000000000000
LVS_XVBPA
000000RG7000000000 0000000000000000000000050510
2222222222222333333543333333333222222222233333333333333333333333333332222222222222222222222222
0000000000000000000277000000000000000000000000000000000000000000505100000000000000000000000000
LVF_PARNR
7000000000
3333333333
7000000000
PIC_OBJECTKEY
2222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000
PIC_OBJECTTYPE
BUS2032
4553333222
2532032000
PIF_NO_DIALOG
2
0
PIF_PARGR
TA
5422
4100
LVF_PARVW
RG
5422
2700
PIF_POSNRHi Kartik,
Could you please be more clearer as to how do you want me to proceed so that this syntax error stops bothering me while creating a standard order thru TCode VA01.Also what do you mean by "well comment the code in the include and activate the include"
I created a projet in CMOD and than added the enhancement V45A0002.The components shown as EXIT_SAPMV45A_002(Predefined sold to party when making the standard order),i double click on the exit and entered into the function module.After that i double clicked on the include ZXVVZU04 and entered in and wrote E_KUNNR=100171
While activating i got error msg 'The last statement is not complete (period missing)." & i have saved inspite the error .After that i tried to create a order and program terminated error came after entering sold to party no. in sales order
so now i have deactivated the project which i created in CMOD & deleted the project also inspite of this i am getting the program terminated error while making the order
I would be great ful if somebody helps me *** out of this syntax error.
Thanks
Rishi -
Change the Sold to Party(SP) in sales order in change mode
Hi,
Is it possible to change the Sold to Party(SP) in sales order in change mode?
If yes then How??
Regards
SomnathHi somnath,
It is very much possible to change the sold-to-party in the change mode of Sales order(VA02).
Goto VA02-->enter the sale order number.
Press enter.
In the overview screen if you change the sold-to-party then every thing will be redetermined(Taxes and pricing procedure etc...).These will be determined from CMr etc.
You cannot change the sold-to-party at the partners tab that is present in the Header details.
It will be greyed out.
If you change the sold-to-party at the overview screen as suggested earlier it will not apply to the item.
You are also going to see this message while changing.
And finally save the document.
Regards,
Krishna. -
Time Machine Data Transfer - From FireWire Drive to Time Capsule - HELP!
Time Machine Data Transfer - From FireWire Drive to Time Capsule - HELP!
I've been searching for weeks for a solution to my problem. Here's the story I've come across since I installed Leopard on Oct. 26, 2007.
I first installed Leopard on my Early 2006 MacBook and set up Time Machine with a 200GB external FireWire drive. Since then, things have been fine, until Time Machine started deleting the oldest backups. I'm a pack-rat and hated this feeling of losing data. So, I now have a few months worth of backups on my 200GB FireWire drive.
The Time Capsule is released, I finally talk myself into getting one and transferring my old data from the 200GB drive to my 1TB TC.
I did some researching through forums about how to move data from one Time Machine drive to another, so I took the concept and wanted to apply it to my Time Capsule. I made a DMG image of my 200GB drive, in order to move the data. I figured if I can make an image, copy it, and open it on the Time Capsule - all will go smoothly - just as some had mentioned they've done with external drives.
Now, I have a 164GB DMG image of my Time Machine, with no hope in sight of gaining it back. I've tried taking the image, using Disk Utility, and restoring my original 200GB external with the imaged Time Machine data, but whenever I do, I come across error messages.
In Disk Utility, I've done the following steps:
* Disk Image is found on Time Capsule
* I select the 200GB drive and select 'Restore'
* I drag and drop the Disk Image to the 'Image' field
* I drag and drop the 200GB drive into the the 'Restore' field
* Select 'Erase Destination'
* Select 'Restore'
* I get the warning message that I'll erase the drive - I proceed
* I enter my password
Error message pops up:
"Restore Failure: Could not find any scan information. The source image needs to be imagescanned/scanned for restore."
I select the image in Disk Utility, then proceed with the following steps:
* Click on "Image" then down to "Scan Image for Restore"
* I enter my password
After hours of waiting, I get another error message:
"Unable to scan. (Broken pipe)."
I'm going to see, after transferring the DMG to the Time Capsule, if I can drag-and-drop the files from the Time Capsule drive onto the 200GB hard drive.
IF anyone has any more suggestions, please let me know!32 updates on this Mac since December 2007 - Hardware, software, OS...
They keep coming at about 6 or 7 a month. Some of them I don't care about, but several are essential. 10.5.3 has been seeded to the testers a couple of times and will probably show up in the next few weeks. Jaguar wasn't worth a d*mn until 10.2.6, Panther about 10.3.4, Tiger about 10.4.4 - I'd say we are ahead or on schedule Too bad I can't get Apple to fix Spaces. I wish they'd focus on what I want but I guess some take more time than others.
2007-12-18 00:32:39 -0800: Installed "GarageBand Update" (4.1.1)
2007-12-18 00:32:43 -0800: Installed "QuickTime Broadcaster" (1.5.2)
2007-12-18 00:33:07 -0800: Installed "Security Update 2007-009" (1.0)
2007-12-18 00:33:29 -0800: Installed "QuickTime" (7.3.1)
2007-12-19 09:32:03 -0800: Installed "MacBook MacBook Pro Software Update" (1.1)
2007-12-23 23:57:32 -0800: Installed "Security Update 2007-009" (1.1)
2008-01-16 09:18:07 -0800: Installed "iMovie Update" (7.1.1)
2008-01-16 09:18:14 -0800: Installed "Front Row Update" (2.1.2)
2008-01-16 09:18:45 -0800: Installed "iTunes" (7.6)
2008-01-16 09:19:31 -0800: Installed "QuickTime" (7.4)
2008-01-29 21:33:14 -0800: Installed "Keynote Update" (4.0.2)
2008-01-29 21:33:23 -0800: Installed "Pages Update" (3.0.2)
2008-01-29 21:33:31 -0800: Installed "Numbers Update" (1.0.2)
2008-02-02 01:18:43 -0800: Installed "iWeb Update" (2.0.3)
2008-02-05 20:12:17 -0800: Installed "iPhoto Update" (7.1.2)
2008-02-15 09:03:49 -0800: Installed "iLife Support" (8.2)
2008-02-15 09:04:17 -0800: Installed "QuickTime" (7.4.1)
2008-02-15 09:04:51 -0800: Installed "Leopard Graphics Update" (1.0)
2008-02-19 23:44:37 -0800: Installed "Keyboard Firmware Update" (1.0)
2008-02-25 19:24:33 -0800: Installed "iTunes" (7.6.1)
2008-03-03 17:14:18 -0800: Installed "GarageBand Update" (4.1.2)
2008-03-03 17:14:31 -0800: Installed "iPhoto Update" (7.1.3)
2008-03-12 18:11:36 -0700: Installed "AirPort Utility" (5.3.1)
2008-03-18 10:03:57 -0700: Installed "Safari" (3.1)
2008-03-20 13:00:58 -0700: Installed "Security Update 2008-002" (1.0)
2008-03-20 13:01:04 -0700: Installed "Time Machine and AirPort Updates" (1.0)
2008-03-21 22:49:16 -0700: Installed "Digital Camera RAW Compatibility Update" (2.0)
2008-04-03 00:50:22 -0700: Installed "Front Row Update" (2.1.3)
2008-04-03 00:50:50 -0700: Installed "QuickTime" (7.4.5)
2008-04-03 00:51:58 -0700: Installed "iTunes" (7.6.2)
2008-04-08 17:16:02 -0700: Installed "Keynote Update" (4.0.3)
2008-04-08 17:16:08 -0700: Installed "MacBook Pro EFI Firmware Update" (1.5) -
Data transfer from sap r/3 into excel sheet for mi01
hi gurus,
as i am a xi consultant i got requirement to write a program for data transfer from sap r/3 into excel sheet for MI01.can any body help me by giving sample code or example for this requirement.please help me.Hi Rohit,
This is an upload program and it has used both function modules to upload from an excel to R3 and to download from R3 onto excel.
GUI_UPLOAD
GUI_DOWNLOAD
are the function modules used.
Hope this helps,
*Output: Downloads error records onto presentation server,
* Displays report with number of success and error records
REPORT ZMCG047CONTR NO STANDARD PAGE HEADING
LINE-SIZE 255
MESSAGE-ID ZM.
*& Table declarations
TABLES : T001W, "Plants/Branches
T024E, "Purchasing Organizations
T001. "Company Codes
* TYPE-POOLS DECLARATION
TYPE-POOLS : SLIS.
* Types Declaration *
TYPES: BEGIN OF T_RECORD, "record storing contract info
LIFNR(010), "Vendor Number
EVART(004), "Agreement Type
EKORG(004), "Purchasing Organization
EKGRP(003), "Purchasing Group
WERKS(004), "Plant
LGORT(004), "Storage Location
KDATB(010), "Valid start Date
KDATE(010), "Valid End Date
ZTERM(004), "Payment Terms
KTWRT(020), "Target Value
EPSTP(001), "Item Category
EMATN(018), "Material Number
KTMNG(017), "Target Quantity
NETPR(014), "Net Price
PEINH(006), "Net Price Unit
BPRME(003), "Net Price Order Price Unit
IDNLF(035), "Vendor Material number
WEBRE(001), "GR Based-IV
MEPRF(001), "Pricing Date Category
LTEX1(040), "Info Text
DATAB(010), "Valid From
DATBI(010), "Valid To
KSCHL(004), "Condition Type
KBETR(016), "Condition Rate if scale is not given
KONWA(005), "Currency
KPEIN(005), "Condition Pricing Unit
KMEIN(003), "Condition Unit of Measure
KSTBM(019), "Scale
KBETR_01(016), "Scale Rate
DEL_FLAG, "Delete Flag Indicator
ERR_MSG(100), "Error Message
END OF T_RECORD,
BEGIN OF T_ERR_RECORD, "to have error records stored
LIFNR(010), "Vendor Number
EVART(004), "Agreement Type
EKORG(004), "Purchasing Organization
EKGRP(003), "Purchasing Group
WERKS(004), "Plant
LGORT(004), "Storage Location
KDATB(010), "Valid start Date
KDATE(010), "Valid End Date
ZTERM(004), "Payment Terms
KTWRT(020), "Target Value
EPSTP(001), "Item Category
EMATN(018), "Material Number
KTMNG(017), "Target Quantity
NETPR(014), "Net Price
PEINH(006), "Net Price Unit
BPRME(003), "Net Price Order Price Unit
IDNLF(035), "Vendor Material number
WEBRE(001), "GR Based-IV
MEPRF(001), "Pricing Date Category
LTEX1(040), "Info Text
DATAB(010), "Valid From
DATBI(010), "Valid To
KSCHL(004), "Condition Type
KBETR(016), "Condition Rate if scale is not given
KONWA(005), "Currency
KPEIN(005), "Condition Pricing Unit
KMEIN(003), "Condition Unit of Measure
KSTBM(019), "Scale
KBETR_01(016), "Scale Rate
DEL_FLAG, "Delete Flag Indicator
ERR_MSG(100), "Error Message
END OF T_ERR_RECORD,
BEGIN OF T_LOEKZ, "To have deletion indicators for materials
LOEKZ(001), "Deletion indicator in purchasing document
EMATN(018), "Material Number
WERKS(004), "Plant
LGORT(004), "Storage Location
BSTYP(001), "Purchasing document category
END OF T_LOEKZ,
BEGIN OF T_MATNR, " Type definition to store details of materials
MATNR(018), "Material Number
END OF T_MATNR,
BEGIN OF T_T001, " Type definition for company codes
BUKRS(004), " Company Code
END OF T_T001,
BEGIN OF T_ZMVXREF, "Cross-Reference table type
D_ALTKN(10), "Legacy Vendor Number
D_BUKRS(4), "Legacy Company Code
M_ALTKN(10), "SAP Company Code
END OF T_ZMVXREF,
BEGIN OF T_LFA1, "Master data of vendors
LIFNR(10), "Vendor Number
END OF T_LFA1,
* Type Declaration for T024E (Company Codes)
BEGIN OF T_T024E,
EKORG LIKE T024E-EKORG, "Purchasing organization
BUKRS LIKE T024E-BUKRS, "Company Code
END OF T_T024E,
* Type Declaration for t001w (Plant)
BEGIN OF T_T001W,
WERKS LIKE T001W-WERKS, "Plant
END OF T_T001W,
* Type Declatation for String Line
BEGIN OF T_STR1, "#EC NEEDED
SLINE(6000) TYPE C,
END OF T_STR1.
TYPES: BEGIN OF T_BDCDATA. "BDC Data
INCLUDE STRUCTURE BDCDATA.
TYPES: END OF T_BDCDATA.
* Internal Tables Declaration *
DATA:
* Internal table to store input file data
I_RECORD TYPE STANDARD TABLE OF T_RECORD INITIAL SIZE 0,
* Internal table to capture errors
I_ERR_REC TYPE STANDARD TABLE OF T_ERR_RECORD INITIAL SIZE 0,
* Internal table to check for deletion indicators
I_LOEKZ TYPE STANDARD TABLE OF T_LOEKZ INITIAL SIZE 0,
* Internal table to check for material numbers
I_MATNR TYPE STANDARD TABLE OF T_MATNR INITIAL SIZE 0,
* Internal table used for storing Cross-Reference data of Vendor
I_ZMVXREF TYPE STANDARD TABLE OF T_ZMVXREF INITIAL SIZE 0,
* Internal table for holding Vendor Numbers from Master table
I_LFA1 TYPE STANDARD TABLE OF T_LFA1 INITIAL SIZE 0,
* Internal table for holding Purchase Org and Company Codes
I_T024E TYPE STANDARD TABLE OF T_T024E INITIAL SIZE 0,
* Internal table for holding Plants
I_T001W TYPE STANDARD TABLE OF T_T001W INITIAL SIZE 0,
* Internal table for storing a list of Company Codes
I_T001 TYPE STANDARD TABLE OF T_T001 INITIAL SIZE 0,
* Internal table used for ALV Reporting
I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
* Internal table used for holding List Header
I_LISTHEADER TYPE SLIS_T_LISTHEADER, "EC NEEDED
* Internal table to hold ALV Event
I_ALV_EVENT TYPE SLIS_T_EVENT,
* Internal table to hold Sort Info for ALV Report
I_SORT TYPE SLIS_T_SORTINFO_ALV,
* Internal table for BDC Data
I_BDCDATA TYPE STANDARD TABLE OF T_BDCDATA INITIAL SIZE 0,
* Internal table for messages
I_MESSTAB TYPE TABLE OF BDCMSGCOLL,
* Internal table for String line
I_STR1 TYPE STANDARD TABLE OF T_STR1 INITIAL SIZE 0.
* Work Area Declaration *
DATA:
* Work Area to hold data for the Open Contract
WA_RECORD TYPE T_RECORD,
* Work Area to hold previous record data
WA_RECORDPREV TYPE T_RECORD,
* Work Area to hold errors
WA_ERR_REC TYPE T_ERR_RECORD,
* Work Area to hold the Deletion Indicator of materials
WA_LOEKZ TYPE T_LOEKZ,
* Work Area to hold Material numbers of required materials
WA_MATNR TYPE T_MATNR, "EC NEEDED
* Work Area to hold errors occured while performing BDC
WA_MESSTAB TYPE BDCMSGCOLL,
* Work Area to hold field catalog for ALV Reports
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
* Work Area to hold list header data for ALV reports
WA_LISTHEADER TYPE SLIS_LISTHEADER,
* Work Area to hold ALV Event
WA_ALV_EVENT LIKE LINE OF I_ALV_EVENT, "EC NEEDED
* Work Area to hold Layout of ALV Report
WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
* Work Area to hold Cross-Reference data of Vendor
WA_ZMVXREF TYPE T_ZMVXREF,
* Work Area to hold Vendor Numbers from Master table
WA_LFA1 TYPE T_LFA1, "EC NEEDED
* Work Area to hold Purchase Org and Company Codes
WA_T024E TYPE T_T024E,
* Work Area to hold Company Codes
WA_T001 TYPE T_T001,
* Work Area to hold Plants
WA_T001W TYPE T_T001W,
* Work Area to hold Sort Info for ALV Report
WA_SORT TYPE SLIS_SORTINFO_ALV,
* Work Area to hold BDC Data
WA_BDCDATA TYPE T_BDCDATA,
* Work Area for String line
WA_STR1 TYPE T_STR1.
* Variables Declaration *
DATA: V_ERRMSG(500), "To temporarily store the error message
V_CONV_DATE(10) TYPE C, "To capture the converted date format
V_DATE LIKE SY-DATUM,
V_REPID LIKE SY-REPID, "holds report id
V_CROSS_REFERENCE_ERROR TYPE I, " cross-reference error
V_INPUTERROR_FLAG VALUE '', " input error status
V_FILENAME TYPE STRING, " File Name
VEN_FLAG(1), " at new status
MAT_FLAG(1), " at new status
V_IND(2) TYPE N, " index of table control
V_IND2(2) TYPE N, " index of table control
V_IND3(2) TYPE N, " index of table control
V_EVRTP1(20),
V_EPSTP1(20),
V_EMATN1(20),
V_KTMNG1(20),
V_NETPR1(20),
V_PEINH1(20),
V_BPRME1(20),
V_TCSELFLAG1(20),
V_KSCHL2(20),
V_KBETR2(20),
V_KONWA2(20),
V_KPEIN2(20),
V_KMEIN2(20),
V_SELKZ2(20),
V_KBETR3(20),
V_KSTBM3(20),
V_LINE TYPE I,
V_STR TYPE X VALUE '09',
V_EXIST TYPE C,
V_EXIST1 TYPE C,
V_ISDIR TYPE C,
V_ISDIR1 TYPE C.
* Constants Declaration *
CONSTANTS: C_TCODE(5) VALUE 'ME31K', "Trx code - Open Contract Creation
C_TRUE VALUE 'X', " Del_Flag indicator
C_LOEKZ_MARKED VALUE 'X', "Deletion indicator for material
C_INPUTERROR_FLAG_YES VALUE 'X', "Input File Indicator
C_VEN_ERR1 VALUE 1, "Error Indicator
C_16(2) VALUE '16',
C_VEN_ERR2 VALUE 2, "Error Indicator
C_VEN_ERR3 VALUE 3, "Error Indicator
C_VEN_SUCS VALUE 0, "Success Indicator
C_SUCCESS LIKE SY-SUBRC VALUE '0',
C_STRUE VALUE 'S', "Del_flag for SAP Errors
C_YTRUE VALUE 'Y', "Del_flag for Success Records
C_MSGTYP_E VALUE 'E', "holds error message type
C_MSGTYP_S VALUE 'S', "holds success message type
C_BSTYP VALUE 'K', "Purchasing Document type is Contract
C_BACKGROUND VALUE 'N', "Background mode
C_FOREGROUND VALUE 'A', "All Screen mode
C_ERRORS VALUE 'E', "Error screen mode
C_WK(2) VALUE 'WK'. "Value Contract
* Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-033.
SELECTION-SCREEN SKIP.
SELECT-OPTIONS:
* Plant
S_WERKS FOR T001W-WERKS OBLIGATORY,
* Purchase Organization
S_EKORG FOR T024E-EKORG OBLIGATORY.
* Company Code
PARAMETER P_BUKRS LIKE T001-BUKRS OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 3.
PARAMETER RB_SERVE RADIOBUTTON GROUP RBX DEFAULT 'X' USER-COMMAND U1.
SELECTION-SCREEN COMMENT 6(19) TEXT-036.
SELECTION-SCREEN POSITION 37.
PARAMETER RB_LOCAL RADIOBUTTON GROUP RBX.
SELECTION-SCREEN COMMENT 40(13) TEXT-035.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
PARAMETERS:
* Parameter holding Input File name
P_FILE LIKE RLGRAP-FILENAME
OBLIGATORY
LOWER CASE
DEFAULT 'C:\'
MODIF ID G1,
P_FILE1 LIKE RLGRAP-FILENAME
OBLIGATORY
LOWER CASE
DEFAULT '/celestica/interface/corp/in/work/'
MODIF ID G2,
* Parameter specifying Mode of calling the Transaction.
P_MODE DEFAULT 'N' OBLIGATORY,
* Check box used to test the input file.
P_TEST AS CHECKBOX DEFAULT 'X',
* Parameter holding Filename for holding Input File Errors
P_IPERR LIKE RLGRAP-FILENAME
OBLIGATORY
LOWER CASE
DEFAULT 'C:\'
MODIF ID G1,
P_IPERR1 LIKE RLGRAP-FILENAME
OBLIGATORY
LOWER CASE
DEFAULT '/celestica/interface/corp/in/work/047_Err.txt'
MODIF ID G2.
SELECTION-SCREEN END OF BLOCK B2.
* AT Selection Screen Events *
* Loop the screen to activate relative paths
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF RB_SERVE = C_TRUE AND SCREEN-GROUP1 = 'G1'.
SCREEN-OUTPUT = 0.
SCREEN-ACTIVE = 0.
SCREEN-INPUT = 0.
ELSEIF RB_LOCAL = C_TRUE AND SCREEN-GROUP1 = 'G2'.
SCREEN-OUTPUT = 0.
SCREEN-ACTIVE = 0.
SCREEN-INPUT = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN ON BLOCK B2.
* Checking Access Authorization for the user
CALL FUNCTION 'ZU_DATA_ACCESS_AUTH_CHECK'
EXPORTING
ACTVT = C_16
P_BUKRS = P_BUKRS
TABLES
S_WERKS = S_WERKS
S_EKORG = S_EKORG
EXCEPTIONS
BUKRS_FAILED = 1
VKORG_FAILED = 2
VTWEG_FAILED = 3
EKORG_FAILED = 4
WERKS_FAILED = 5
LGNUM_FAILED = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
AT SELECTION-SCREEN ON P_BUKRS.
IF NOT P_BUKRS IS INITIAL.
SELECT SINGLE BUKRS INTO T001
FROM T001
WHERE BUKRS EQ P_BUKRS.
IF SY-SUBRC NE 0.
MESSAGE I000 WITH TEXT-089.
STOP.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
* Search Help to select Input File path.
PERFORM GET_FILE_NAME USING P_FILE.
* Check for the existence of the file.
IF RB_LOCAL EQ C_TRUE.
CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
EXPORTING
FNAME = P_FILE
IMPORTING
EXIST = V_EXIST
ISDIR = V_ISDIR
EXCEPTIONS
FILEINFO_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF V_ISDIR IS INITIAL.
IF V_EXIST IS INITIAL.
MESSAGE I000 WITH TEXT-018.
STOP.
ENDIF.
ELSEIF V_ISDIR EQ C_TRUE.
MESSAGE I000 WITH TEXT-068.
STOP.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_IPERR.
* Search Help to select Input Error File path.
PERFORM GET_FILE_NAME USING P_IPERR.
AT SELECTION-SCREEN.
* Validate Transaction Mode
IF P_MODE <> C_BACKGROUND AND
P_MODE <> C_FOREGROUND AND
P_MODE <> C_ERRORS.
MESSAGE I000 WITH TEXT-034.
STOP.
ENDIF.
START-OF-SELECTION.
* Get the Input File Data
V_FILENAME = P_FILE.
PERFORM UPLOAD_FLATFILE_DATA TABLES I_RECORD
USING V_FILENAME.
* Sorting the data by all fields
SORT I_RECORD.
* Ensuring the padding of the empty spaces before the vendor No
CLEAR WA_RECORD.
LOOP AT I_RECORD INTO WA_RECORD.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECORD-LIFNR
IMPORTING
OUTPUT = WA_RECORD-LIFNR.
MODIFY I_RECORD FROM WA_RECORD
INDEX SY-TABIX
TRANSPORTING LIFNR.
CLEAR WA_RECORD.
ENDLOOP.
* Input file validation
PERFORM VALIDATE_FLATFILE_DATA.
IF P_TEST = C_TRUE.
IF I_ERR_REC[] IS INITIAL.
MESSAGE I000 WITH TEXT-032.
STOP.
ELSE.
* Display all the error records at the input level.
PERFORM DISPLAY_INPERR_RECORDS.
* Download Error File
PERFORM DOWNLOAD_ERROR_FILE.
ENDIF.
ELSE.
* Build BDC Data
PERFORM BUILD_BDC_DATA.
* Download Error File
PERFORM DOWNLOAD_ERROR_FILE.
* Display the status report.
PERFORM DISPLAY_PROCESSED_RECORDS.
ENDIF.
END-OF-SELECTION.
REFRESH: I_RECORD,
I_ERR_REC,
I_LOEKZ,
I_MATNR,
I_ZMVXREF,
I_LFA1,
I_T024E,
I_FIELDCAT,
I_LISTHEADER,
I_ALV_EVENT,
I_SORT,
I_BDCDATA,
I_MESSTAB,
I_STR1.
FREE: I_RECORD,
I_ERR_REC,
I_LOEKZ,
I_MATNR,
I_ZMVXREF,
I_LFA1,
I_T024E,
I_FIELDCAT,
I_LISTHEADER,
I_ALV_EVENT,
I_SORT,
I_BDCDATA,
I_MESSTAB,
I_STR1.
*& Form GET_file_name
* Fetches the file and path from the presentation system
* --> p1 Path along with the file name
FORM GET_FILE_NAME USING L_FILE LIKE RLGRAP-FILENAME.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
MASK = ',*.TXT,*.txt.'
MODE = 'O'
TITLE = TEXT-011
IMPORTING
FILENAME = L_FILE
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
CASE SY-SUBRC.
WHEN 1.
MESSAGE I000 WITH TEXT-084.
STOP.
WHEN 2.
MESSAGE I000 WITH TEXT-085.
STOP.
WHEN 3.
MESSAGE I000 WITH TEXT-086.
STOP.
WHEN 4.
MESSAGE I000 WITH TEXT-087.
STOP.
ENDCASE.
ENDFORM. " GET_file_name
*& Form upload_flatfile_data
* Uploading data from Flat File
FORM UPLOAD_FLATFILE_DATA
TABLES I_L_RECORD STRUCTURE WA_RECORD
USING L_FILENAME TYPE STRING.
DATA WA_L_RECORD TYPE T_RECORD.
* Upload the Flat file data
IF RB_LOCAL EQ C_TRUE. "File is on the Local System
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = L_FILENAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_L_RECORD
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
CASE SY-SUBRC.
WHEN 0.
DESCRIBE TABLE I_L_RECORD LINES V_LINE.
IF V_LINE EQ 0.
MESSAGE I000 WITH TEXT-065.
STOP.
ENDIF.
WHEN 1.
MESSAGE I000 WITH TEXT-068.
STOP.
WHEN 2.
MESSAGE I000 WITH TEXT-069.
STOP.
WHEN 3.
MESSAGE I000 WITH TEXT-070.
STOP.
WHEN 4.
MESSAGE I000 WITH TEXT-071.
STOP.
WHEN 5.
MESSAGE I000 WITH TEXT-072.
STOP.
WHEN 6.
MESSAGE I000 WITH TEXT-073.
STOP.
WHEN 7.
MESSAGE I000 WITH TEXT-074.
STOP.
WHEN 8.
MESSAGE I000 WITH TEXT-075.
STOP.
WHEN 9.
MESSAGE I000 WITH TEXT-076.
STOP.
WHEN 10.
MESSAGE I000 WITH TEXT-077.
STOP.
WHEN 11.
MESSAGE I000 WITH TEXT-078.
STOP.
WHEN 12.
MESSAGE I000 WITH TEXT-079.
STOP.
WHEN 13.
MESSAGE I000 WITH TEXT-080.
STOP.
WHEN 14.
MESSAGE I000 WITH TEXT-081.
STOP.
WHEN 15.
MESSAGE I000 WITH TEXT-082.
STOP.
WHEN 16.
MESSAGE I000 WITH TEXT-083.
STOP.
ENDCASE.
CLEAR V_LINE.
ELSEIF RB_SERVE EQ C_TRUE. "File is on the Application Server
P_MODE = C_BACKGROUND.
OPEN DATASET P_FILE1 FOR INPUT IN TEXT MODE.
CHECK SY-SUBRC EQ C_SUCCESS.
CLEAR WA_STR1.
DO.
READ DATASET P_FILE1 INTO WA_STR1.
IF SY-SUBRC <> 0. " NE SUCCESS.
EXIT.
ELSEIF SY-SUBRC EQ C_SUCCESS.
APPEND WA_STR1 TO I_STR1.
CLEAR WA_STR1.
ENDIF. " ENDIF on SY-SUBRC 0 Check.
ENDDO. " ENDDO
DELETE I_STR1 WHERE SLINE EQ ' '.
DESCRIBE TABLE I_STR1 LINES V_LINE.
IF V_LINE EQ 0.
MESSAGE S000 WITH TEXT-065.
STOP.
ENDIF.
LOOP AT I_STR1 INTO WA_STR1.
CLEAR: WA_L_RECORD.
SPLIT WA_STR1-SLINE AT V_STR
INTO WA_L_RECORD-LIFNR
WA_L_RECORD-EVART
WA_L_RECORD-EKORG
WA_L_RECORD-EKGRP
WA_L_RECORD-WERKS
WA_L_RECORD-LGORT
WA_L_RECORD-KDATB
WA_L_RECORD-KDATE
WA_L_RECORD-ZTERM
WA_L_RECORD-KTWRT
WA_L_RECORD-EPSTP
WA_L_RECORD-EMATN
WA_L_RECORD-KTMNG
WA_L_RECORD-NETPR
WA_L_RECORD-PEINH
WA_L_RECORD-BPRME
WA_L_RECORD-IDNLF
WA_L_RECORD-WEBRE
WA_L_RECORD-MEPRF
WA_L_RECORD-LTEX1
WA_L_RECORD-DATAB
WA_L_RECORD-DATBI
WA_L_RECORD-KSCHL
WA_L_RECORD-KBETR
WA_L_RECORD-KONWA
WA_L_RECORD-KPEIN
WA_L_RECORD-KMEIN
WA_L_RECORD-KSTBM
WA_L_RECORD-KBETR_01
WA_L_RECORD-DEL_FLAG
WA_L_RECORD-ERR_MSG.
APPEND WA_L_RECORD TO I_L_RECORD.
CLEAR: WA_L_RECORD,
WA_STR1.
ENDLOOP.
REFRESH I_STR1.
CLOSE DATASET P_FILE1.
ENDIF.
ENDFORM.
*& Form BDC_DYNPRO
* Data populated into i_bdcdata table for program
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR WA_BDCDATA.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = C_TRUE.
APPEND WA_BDCDATA TO I_BDCDATA.
ENDFORM.
*& Form BDC_FIELD
* Data populated into i_bdcdata table for fields
FORM BDC_FIELD USING FNAM FVAL.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
APPEND WA_BDCDATA TO I_BDCDATA.
ENDFORM.
*& Form convert_date
* Converting the data from the file format to mm/dd/yyyy format
* <--P_wa_record_kdatb Source Date
* <--p_l_conv_date Target Date
FORM CONVERT_DATE USING L_DATE
L_TAR_DATE.
CONCATENATE L_DATE+0(2)
L_DATE+3(2)
L_DATE+6(4)
INTO L_TAR_DATE.
ENDFORM. " convert_date
*& Form validate_flatfile_data
* Validating the input file
FORM VALIDATE_FLATFILE_DATA.
DATA: L_TODAY LIKE SY-DATUM,
L_STARTDATE_C LIKE SY-DATUM,
L_ENDDATE_C LIKE SY-DATUM,
L_ENDDATE_C1 LIKE SY-DATUM,
L_STARTDATE_C1 LIKE SY-DATUM,
L_STARTDATE(8),
L_ENDDATE(8).
* Fetch indicator for all records on the material, plant & storage
* location combination.
IF NOT I_RECORD[] IS INITIAL.
REFRESH I_LOEKZ.
SELECT EMATN " Material Number
WERKS " Plant
LGORT " Storage Location
BSTYP " Purchasing Document Category
LOEKZ " Deletion indicator
INTO TABLE I_LOEKZ
FROM EKPO
FOR ALL ENTRIES IN I_RECORD
WHERE EMATN = I_RECORD-EMATN
AND WERKS = I_RECORD-WERKS
AND LGORT = I_RECORD-LGORT
AND BSTYP = C_BSTYP
AND LOEKZ = C_LOEKZ_MARKED.
IF SY-SUBRC EQ 0.
SORT I_LOEKZ BY EMATN WERKS LGORT BSTYP LOEKZ.
ENDIF.
* Fetching Plants for all entries in the selection screen
REFRESH I_T001W.
SELECT WERKS "Plant
INTO TABLE I_T001W
FROM T001W
WHERE WERKS IN S_WERKS.
IF SY-SUBRC EQ 0.
SORT I_T001W BY WERKS.
ENDIF.
* Fetching materials for the plants listed in flat file
REFRESH I_MATNR.
SELECT MATNR " Material Number
INTO TABLE I_MATNR
FROM MARC
FOR ALL ENTRIES IN I_RECORD
WHERE WERKS = I_RECORD-WERKS.
IF SY-SUBRC EQ 0.
SORT I_MATNR BY MATNR.
ENDIF.
* Fetching Company Codes for repective Purchase Organizations
REFRESH I_T024E.
SELECT EKORG " Purchase Organization
BUKRS " Company Code
INTO TABLE I_T024E
FROM T024E
WHERE EKORG IN S_EKORG.
IF SY-SUBRC EQ 0.
SORT I_T024E BY EKORG.
ENDIF.
* Fetching SAP Data using Legacy Data.
REFRESH I_ZMVXREF.
SELECT D_ALTKN
D_BUKRS
M_ALTKN
INTO TABLE I_ZMVXREF
FROM ZMVXREF
FOR ALL ENTRIES IN I_RECORD
WHERE D_ALTKN = I_RECORD-LIFNR.
IF SY-SUBRC EQ 0.
SORT I_ZMVXREF BY D_ALTKN D_BUKRS.
ENDIF.
* Fetching Vendors from LFA1
IF NOT I_ZMVXREF[] IS INITIAL.
REFRESH I_LFA1.
SELECT LIFNR
INTO TABLE I_LFA1
FROM LFA1
FOR ALL ENTRIES IN I_ZMVXREF
WHERE LIFNR = I_ZMVXREF-M_ALTKN.
IF SY-SUBRC EQ 0.
SORT I_LFA1 BY LIFNR.
ENDIF.
ENDIF.
* Start Validating the flat file
CLEAR: WA_RECORD,
WA_T024E,
WA_ZMVXREF,
WA_LFA1,
WA_LOEKZ,
WA_MATNR.
LOOP AT I_RECORD INTO WA_RECORD.
L_TODAY = SY-DATUM.
L_STARTDATE = WA_RECORD-KDATB.
L_ENDDATE = WA_RECORD-KDATE.
IF WA_RECORD-DEL_FLAG IS INITIAL.
READ TABLE I_T001W INTO WA_T001W
WITH KEY WERKS = WA_RECORD-WERKS
BINARY SEARCH.
IF SY-SUBRC EQ 0.
* Cross-Reference check performed for the given Vendors
READ TABLE I_T024E INTO WA_T024E
WITH KEY EKORG = WA_RECORD-EKORG
BINARY SEARCH.
IF SY-SUBRC NE 0.
V_CROSS_REFERENCE_ERROR = C_VEN_ERR3.
ELSE.
READ TABLE I_ZMVXREF INTO WA_ZMVXREF
WITH KEY D_ALTKN = WA_RECORD-LIFNR
D_BUKRS = P_BUKRS
BINARY SEARCH.
IF SY-SUBRC EQ 0.
READ TABLE I_LFA1 INTO WA_LFA1
WITH KEY LIFNR = WA_ZMVXREF-M_ALTKN
BINARY SEARCH.
IF SY-SUBRC EQ 0.
V_CROSS_REFERENCE_ERROR = C_VEN_SUCS.
ELSE.
V_CROSS_REFERENCE_ERROR = C_VEN_ERR2.
ENDIF.
ELSE.
V_CROSS_REFERENCE_ERROR = C_VEN_ERR1.
ENDIF.
ENDIF.
* Legacy Vendor could not be mapped
IF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR1.
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inp.file err. occurd
WA_RECORD-DEL_FLAG = C_TRUE.
WA_RECORD-ERR_MSG = TEXT-007.
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR.
* Legacy Vendor is mapped but the obtained SAP vendor doesn't exist.
ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR2.
* Inp.file err. occurd
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-DEL_FLAG = C_TRUE.
WA_RECORD-ERR_MSG = TEXT-008.
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR.
* Purchase Organization doesn't exist in T024E.
ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR3.
* Inp.file err. occurd
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-DEL_FLAG = C_TRUE.
WA_RECORD-ERR_MSG = TEXT-014.
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE EKORG = WA_RECORD-EKORG.
* Vendor is mapped and validated successfully
ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_SUCS.
* Checking for the deletion indicator for that record
CONCATENATE WA_RECORD-KDATB+6(4)
WA_RECORD-KDATB+3(2)
WA_RECORD-KDATB+0(2)
INTO
L_STARTDATE.
MOVE L_STARTDATE TO L_STARTDATE_C.
CONCATENATE WA_RECORD-KDATB+6(4)
WA_RECORD-KDATB+0(2)
WA_RECORD-KDATB+3(2)
INTO
L_STARTDATE_C1.
CONCATENATE WA_RECORD-KDATE+6(4)
WA_RECORD-KDATE+3(2)
WA_RECORD-KDATE+0(2)
INTO
L_ENDDATE.
MOVE L_ENDDATE TO L_ENDDATE_C.
CONCATENATE WA_RECORD-KDATE+6(4)
WA_RECORD-KDATE+0(2)
WA_RECORD-KDATE+3(2)
INTO
L_ENDDATE_C1.
READ TABLE I_LOEKZ INTO WA_LOEKZ WITH KEY
EMATN = WA_RECORD-EMATN
WERKS = WA_RECORD-WERKS
LGORT = WA_RECORD-LGORT
BINARY SEARCH.
IF SY-SUBRC EQ 0.
* Inpfle err.occured
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-ERR_MSG = TEXT-003.
WA_RECORD-DEL_FLAG = C_TRUE. "marking the record
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR
AND EVART = WA_RECORD-EVART
AND EKORG = WA_RECORD-EKORG
AND EKGRP = WA_RECORD-EKGRP
AND WERKS = WA_RECORD-WERKS
AND LGORT = WA_RECORD-LGORT
AND KDATB = WA_RECORD-KDATB
AND KDATE = WA_RECORD-KDATE
AND ZTERM = WA_RECORD-ZTERM
AND KTWRT = WA_RECORD-KTWRT
AND EPSTP = WA_RECORD-EPSTP
AND EMATN = WA_RECORD-EMATN.
* Validating the Purchasing Organization for Blank/Null
ELSEIF WA_RECORD-EKORG IS INITIAL.
* Inpfle err.occured
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-ERR_MSG = TEXT-010.
WA_RECORD-DEL_FLAG = C_TRUE.
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR
AND EVART = WA_RECORD-EVART
AND EKORG = WA_RECORD-EKORG
AND EKGRP = WA_RECORD-EKGRP
AND WERKS = WA_RECORD-WERKS
AND LGORT = WA_RECORD-LGORT
AND KDATB = WA_RECORD-KDATB
AND KDATE = WA_RECORD-KDATE
AND ZTERM = WA_RECORD-ZTERM
AND KTWRT = WA_RECORD-KTWRT
AND EPSTP = WA_RECORD-EPSTP
AND EMATN = WA_RECORD-EMATN.
* Validating the Plant for Blank/Null
ELSEIF WA_RECORD-WERKS IS INITIAL.
* Inpfle err.occured
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-ERR_MSG = TEXT-039.
WA_RECORD-DEL_FLAG = C_TRUE.
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR
AND EVART = WA_RECORD-EVART
AND EKORG = WA_RECORD-EKORG
AND EKGRP = WA_RECORD-EKGRP
AND WERKS = WA_RECORD-WERKS
AND LGORT = WA_RECORD-LGORT
AND KDATB = WA_RECORD-KDATB
AND KDATE = WA_RECORD-KDATE
AND ZTERM = WA_RECORD-ZTERM
AND KTWRT = WA_RECORD-KTWRT
AND EPSTP = WA_RECORD-EPSTP
AND EMATN = WA_RECORD-EMATN.
* Validating the Contract Validity Start Date
ELSEIF L_STARTDATE_C1 GT L_TODAY. "#EC PORTABLE
* Inpfle err.occured
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-ERR_MSG = TEXT-004.
WA_RECORD-DEL_FLAG = C_TRUE. "marking the record
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR
AND EVART = WA_RECORD-EVART
AND EKORG = WA_RECORD-EKORG
AND EKGRP = WA_RECORD-EKGRP
AND WERKS = WA_RECORD-WERKS
AND LGORT = WA_RECORD-LGORT
AND KDATB = WA_RECORD-KDATB.
* Validating the Contract Validity End Date
ELSEIF L_ENDDATE_C1 LE L_TODAY. "#EC PORTABLE
* Inpfle err.ocrd
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
WA_RECORD-ERR_MSG = TEXT-005.
WA_RECORD-DEL_FLAG = C_TRUE. "marking the record
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR
AND EVART = WA_RECORD-EVART
AND EKORG = WA_RECORD-EKORG
AND EKGRP = WA_RECORD-EKGRP
AND WERKS = WA_RECORD-WERKS
AND LGORT = WA_RECORD-LGORT
AND KDATB = WA_RECORD-KDATB
AND KDATE = WA_RECORD-KDATE.
* Checking for Material under the Plant for Agreement Type 'WK'
ELSEIF WA_RECORD-EVART = C_WK.
READ TABLE I_MATNR INTO WA_MATNR
WITH KEY MATNR = WA_RECORD-EMATN
BINARY SEARCH.
IF SY-SUBRC NE 0.
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
WA_RECORD-ERR_MSG = TEXT-006.
WA_RECORD-DEL_FLAG = C_TRUE. "marking the record
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE LIFNR = WA_RECORD-LIFNR
AND EVART = WA_RECORD-EVART
AND EKORG = WA_RECORD-EKORG
AND EKGRP = WA_RECORD-EKGRP
AND WERKS = WA_RECORD-WERKS
AND LGORT = WA_RECORD-LGORT
AND KDATB = WA_RECORD-KDATB
AND KDATE = WA_RECORD-KDATE
AND ZTERM = WA_RECORD-ZTERM
AND KTWRT = WA_RECORD-KTWRT
AND EPSTP = WA_RECORD-EPSTP
AND EMATN = WA_RECORD-EMATN.
ENDIF.
ENDIF. " checking of deletion indicator
ENDIF. " checking for success of vendor cross reference
ELSE.
V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
WA_RECORD-ERR_MSG = TEXT-041.
WA_RECORD-DEL_FLAG = C_TRUE. "marking the record
MODIFY I_RECORD FROM WA_RECORD
TRANSPORTING DEL_FLAG
ERR_MSG
WHERE WERKS = WA_RECORD-WERKS.
ENDIF. " Plant checked to selection screen
ENDIF. " the records for which del_flag is initial
CLEAR: WA_RECORD,
WA_T024E,
WA_ZMVXREF,
WA_LFA1,
WA_LOEKZ,
WA_MATNR,
L_TODAY,
L_STARTDATE_C,
L_ENDDATE_C,
L_STARTDATE,
L_ENDDATE.
ENDLOOP.
LOOP AT I_RECORD INTO WA_RECORD.
IF WA_RECORD-DEL_FLAG = C_TRUE.
APPEND WA_RECORD TO I_ERR_REC.
CLEAR WA_RECORD.
ENDIF.
ENDLOOP.
ELSE.
MESSAGE E000 WITH TEXT-013. " no records in the flat file
STOP.
ENDIF.
ENDFORM. " validate_flatfile_data
*& Form DOWNLOAD_ERROR_FILE
* Downloads all records along with the records encountering the
* input file validation error
FORM DOWNLOAD_ERROR_FILE.
DATA L_ISDIR TYPE C.
IF V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
V_FILENAME = P_IPERR.
* Check for the existence of the file.
IF RB_LOCAL EQ C_TRUE.
CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
EXPORTING
FNAME = P_IPERR
IMPORTING
ISDIR = L_ISDIR
EXCEPTIONS
FILEINFO_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF L_ISDIR EQ C_TRUE.
MESSAGE I000 WITH TEXT-088.
STOP.
ENDIF.
ENDIF.
IF RB_LOCAL EQ C_TRUE.
* Download the Input Error File.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = V_FILENAME
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = '#'
TABLES
DATA_TAB = I_ERR_REC
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSEIF RB_SERVE EQ C_TRUE.
OPEN DATASET P_IPERR1 FOR OUTPUT IN TEXT MODE.
CHECK SY-SUBRC EQ 0.
CLEAR WA_ERR_REC.
LOOP AT I_ERR_REC INTO WA_ERR_REC.
IF WA_ERR_REC-DEL_FLAG = C_TRUE.
TRANSFER WA_ERR_REC TO P_IPERR1.
ENDIF.
CLEAR WA_ERR_REC.
ENDLOOP.
CLOSE DATASET P_IPERR1.
ENDIF.
ENDIF.
ENDFORM. " DOWNLOAD_ERROR_FILE
*& Form BUILD_BDC_DATA
* Populates BDC for all the fields neccessary for Open Contract Creation
FORM BUILD_BDC_DATA.
DATA: L_MAT_INDEX TYPE I,
L_CON_INDEX TYPE I,
L_SCA_INDEX TYPE I.
CLEAR WA_BDCDATA.
REFRESH: I_BDCDATA,
I_MESSTAB.
* Processing the bdc
CLEAR: WA_RECORD,
WA_RECORDPREV,
VEN_FLAG,
MAT_FLAG.
LOOP AT I_RECORD INTO WA_RECORD.
* Checks for the del_flag of the record.
IF WA_RECORD-DEL_FLAG EQ C_TRUE
OR WA_RECORD-DEL_FLAG EQ C_STRUE.
CLEAR WA_RECORD.
CONTINUE.
ELSE.
IF WA_RECORDPREV-LIFNR NE WA_RECORD-LIFNR
OR WA_RECORDPREV-EVART NE WA_RECORD-EVART
OR WA_RECORDPREV-EKORG NE WA_RECORD-EKORG
OR WA_RECORDPREV-EKGRP NE WA_RECORD-EKGRP
OR WA_RECORDPREV-WERKS NE WA_RECORD-WERKS
OR WA_RECORDPREV-LGORT NE WA_RECORD-LGORT
OR WA_RECORDPREV-KDATB NE WA_RECORD-KDATB
OR WA_RECORDPREV-KDATE NE WA_RECORD-KDATE
OR WA_RECORDPREV-ZTERM NE WA_RECORD-ZTERM
OR WA_RECORDPREV-KTWRT NE WA_RECORD-KTWRT.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM06E-LGORT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
* Cross-Reference check performed for the given Vendors
CLEAR WA_T024E.
READ TABLE I_T024E INTO WA_T024E
WITH KEY EKORG = WA_RECORD-EKORG
BINARY SEARCH.
IF SY-SUBRC EQ 0.
CLEAR WA_ZMVXREF.
READ TABLE I_ZMVXREF INTO WA_ZMVXREF
WITH KEY D_ALTKN = WA_RECORD-LIFNR
D_BUKRS = P_BUKRS
BINARY SEARCH.
IF SY-SUBRC EQ 0.
PERFORM BDC_FIELD USING 'EKKO-LIFNR'
WA_ZMVXREF-M_ALTKN.
ENDIF.
CLEAR WA_ZMVXREF.
ENDIF.
CLEAR WA_T024E.
PERFORM BDC_FIELD USING 'RM06E-EVART'
WA_RECORD-EVART.
PERFORM BDC_FIELD USING 'EKKO-EKORG'
WA_RECORD-EKORG.
PERFORM BDC_FIELD USING 'EKKO-EKGRP'
WA_RECORD-EKGRP.
PERFORM BDC_FIELD USING 'RM06E-WERKS'
WA_RECORD-WERKS.
PERFORM BDC_FIELD USING 'RM06E-LGORT'
WA_RECORD-LGORT.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0201'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'EKKO-KTWRT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AB'.
PERFORM CONVERT_DATE USING WA_RECORD-KDATB V_CONV_DATE.
PERFORM BDC_FIELD USING 'EKKO-KDATB'
V_CONV_DATE.
PERFORM CONVERT_DATE USING WA_RECORD-KDATE V_CONV_DATE.
PERFORM BDC_FIELD USING 'EKKO-KDATE'
V_CONV_DATE.
PERFORM BDC_FIELD USING 'EKKO-ZTERM'
WA_RECORD-ZTERM.
PERFORM BDC_FIELD USING 'EKKO-KTWRT'
WA_RECORD-KTWRT.
VEN_FLAG = 1.
L_MAT_INDEX = 1. "index for table-control of material
ENDIF.
* "first check for itemline
IF WA_RECORDPREV-EPSTP NE WA_RECORD-EPSTP
OR WA_RECORDPREV-EMATN NE WA_RECORD-EMATN
OR WA_RECORDPREV-KTMNG NE WA_RECORD-KTMNG
OR WA_RECORDPREV-NETPR NE WA_RECORD-NETPR
OR WA_RECORDPREV-PEINH NE WA_RECORD-PEINH
OR WA_RECORDPREV-BPRME NE WA_RECORD-BPRME
OR WA_RECORDPREV-IDNLF NE WA_RECORD-IDNLF
OR WA_RECORDPREV-WEBRE NE WA_RECORD-WEBRE
OR WA_RECORDPREV-MEPRF NE WA_RECORD-MEPRF
OR WA_RECORDPREV-LTEX1 NE WA_RECORD-LTEX1
OR VEN_FLAG EQ 1.
V_IND = L_MAT_INDEX.
IF V_IND GT 1.
V_IND = 2.
ENDIF.
CONCATENATE 'RM06E-EVRTP(' V_IND ')' INTO V_EVRTP1.
CONCATENATE 'RM06E-EPSTP(' V_IND ')' INTO V_EPSTP1.
CONCATENATE 'EKPO-EMATN(' V_IND ')' INTO V_EMATN1.
CONCATENATE 'EKPO-KTMNG(' V_IND ')' INTO V_KTMNG1.
CONCATENATE 'EKPO-NETPR(' V_IND ')' INTO V_NETPR1.
CONCATENATE 'EKPO-PEINH(' V_IND ')' INTO V_PEINH1.
CONCATENATE 'EKPO-BPRME(' V_IND ')' INTO V_BPRME1.
CONCATENATE 'RM06E-TCSELFLAG(' V_IND ')' INTO V_TCSELFLAG1.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0220'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=NP'.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0220'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
V_EVRTP1.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=DETA'.
PERFORM BDC_FIELD USING V_EPSTP1
WA_RECORD-EPSTP.
PERFORM BDC_FIELD USING V_EMATN1
WA_RECORD-EMATN.
PERFORM BDC_FIELD USING V_KTMNG1
WA_RECORD-KTMNG.
PERFORM BDC_FIELD USING V_NETPR1
WA_RECORD-NETPR.
PERFORM BDC_FIELD USING V_PEINH1
WA_RECORD-PEINH.
PERFORM BDC_FIELD USING V_BPRME1
WA_RECORD-BPRME.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0211'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'EKPO-WEBRE'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=DETZ'.
PERFORM BDC_FIELD USING 'EKPO-IDNLF'
WA_RECORD-IDNLF.
TRANSLATE WA_RECORD-EVART TO UPPER CASE.
IF WA_RECORD-EVART EQ C_WK.
PERFORM BDC_FIELD USING 'EKPO-WEBRE' 'X'.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0212'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'EKPO-MEPRF'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TXP'.
PERFORM BDC_FIELD USING 'EKPO-MEPRF'
WA_RECORD-MEPRF.
IF NOT WA_RECORD-LTEX1 IS INITIAL. "NE space.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0106'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM06E-SELKZ(02)'.
PERFORM BDC_FIELD -
What exact data transfer from CRM to R3, on completion of a sales Order. I am new in the field, need some good example?
HI Sajjad,
Transafer of order from CRM to R/3 involves following activies.
Setup RFC destination between CRM & R/3
Create a R/3 Site (Transaction: SMOEAC) and assign a subscription named
(Sales Document (Mesg) created from publication Sales Document(Mesg)).
In R/3 maintain Document type with same name as Transaction type in CRM, item category with same name as item category in CRM, Item category determination with same as in CRM.
Master data i.e. Product in CRM should be present with same name as material in R/3. BP in CRM should be present with same name as Customer in R/3
Organizational data is maintained in CRM.
Best Regards,
Pratik Patel.
Reward with points if it is of any help to you! -
Sold to Party information in Service order cleared automatically
Hi,
I need a clarification.In my case Service Order getting generated from Sales Order.
Before saving the sales order,in the generated Service order(under schedule lines), Iam seeing the Sold-to-Party is populated automatically.
After saving the order,when I open the Service order, Sold-To -Party field is blank.
Why system is clearing the Sold-To-Party infor in Service order upon saving of sales order.pl suggest me.
Regards
SBHi Pete,
No.If I enter the STP in change mode of Service Order,its accepting without any issues.
One more information is some times in Sales Order, Service Order will not get generated due to credit limit failure.In VKM3 , if I process the same sales Order,then Service Order gets generated and in this case STP information is there.
Means,
If the service order gets generated from Sales Order,STP info is not there in SO even though its appearing before saving of Sales order.
If the Service Order gets generated outside the sales orders(in VKM3),STP information is there.
I have checked with my Technical guys....No exits in place.....any settings in Sales Order-Service Link is there for this behaviour.
Regards
SB -
Data transfer from E-recruitment to PA
Dear All,
we are Implementing E-recruitment. while transferinf the data from E-recruitment to Personnel administraion, I am getting the error, No data available from the partner system table T752F). We are using the same server for E-rec and PA.
While doing the data transfer activity in E-recruitment i m getting succfulll. In R/3 while going to the Tcode PA48 i m getting the error.
Please help me on this.
Thanks and Regards,
Revathi.An integrated hiring (data transfer) scenario with SAP e-recruitment
and R/3 starts with creating a "Data Transfer for New Employees"
activity within e-recruiting for the candidate selected to be hired.
Data from e-recruitment is transferred to the target HR (via an RFC
call) and stored there in a holding table (T572F) for processing
by an appropriate action. Within the HR system, execute transaction
PA48 to access the holding table. Select the candidate you want to
process and then click the "Hire" button, and continue with the
appropriate action.
This message occurs, if you execute PA42 or PA48, in order to perform
the personnel action RA (Integration with Recruitment in Partner
Systems) and no data exists on the R/3 or external system.
You will find all the relevant information in the IMG documents
available. Please check;
- Set Up Data transfer from SAP ECC
- Set Up Data Transfer for New Employees -
New GL Migration - Data transfer from Classic GL to New GL
Hi Champs!
Our client is on ECC6.0, with classic GL functionality. Now they want to migrate to New GL and they have already procured SAP New GL migration services. Wanted to know, whether this migration service will take care of data transfer from tables of classic GL to tables of New GL with appropriate New GL functionalities like document splitting etc.
Your feedback will help a lot.
Thanks,
Amish.Hi Amish,
https://websmp207.sap-ag.de/GL
This link will help you find all documentation pertaining to New GL concept from SAP.
thanks and regards
Praveen.J -
I need a data transfer from a 2005 Macbook to my new one (2010). I damaged the old laptop and although it wouldn't turn on, when I brought it to the Apple Store they ascertained that the hard drive was still intact. They said I needed to purchase a one to one membership to get a data transfer, which I did, but somehow forgot about it and now it's expired. Is there any way I can still get the data from the old hard drive transferred to my new macbook? Can Apple provide this service even though my one to one membership has expired?
Go to OWC where you can purchase a suitable enclosure for the drive. You will need an enclosure for a SATA notebook drive. This is assuming the old computer is a MacBook and not an iBook. I make this observation because the first MacBook was released in 2006, not in 2005. If yours is a 2005 model then it's an iBook and uses an ATA interface.
Install the old drive in the enclosure, connect to your new computer. You can then transfer your data. -
Can anyone explain the mechanism of data transfer from r3 to bw?
Hi all the bw expert,
i have one question on the mechanism of data transfer from r3 to bi 7.0. the followings is my concerns:
scenario:
The total numer of data is 1000 rows and these rows are seperated into 10 data package , each package contains 100 rows.
Now bw is trying to recieve these 10 packages from r3 in sequence.
When 5 data packages have been transfer to bi psa. the network is broken and the tranfer is canceled at the 6th data package.
What i want to konw is when the network is reconnected ,Does the transfer start from the 6th data package?
Please help me to explain all these. Is there any material or links can be used to understand this feature?
Thanks ahead.
Jinwei Zhang
From Beijing ChinaHi......
Connection broken means load failed.......extraction is cancelled.......
If your load is delta........then make the QM status red in the Infopackage........and repeat the load........
If your load is full........(in case of full upload it is not mandatory to make the QM status red..........but ii is a good practice to make the qm status red)
then repeat the load........
But before repeating the load plz check the connection in SM59............if it is ok then repeat..........otherwise wait for som time.......If still in connection is not ok then contact basis people.....
Regards,
Debjani.......
Edited by: Debjani Mukherjee on Oct 6, 2008 7:02 AM
Edited by: Debjani Mukherjee on Oct 6, 2008 7:04 AM
Edited by: Debjani Mukherjee on Oct 6, 2008 7:09 AM -
Employee Data Transfer From Recruitment to PA
Hi All,
I have a query pertaining to employee data transfer from recruitment (PBA7) to PA.
Here the client uses recruitment module only for data maintenance and then transfer the data to PA module. Is it possible if we skip the data transfer from Rec. module to PA module.
Please advise URGENTLY.
Regards,
GarimaGarima,
If your query is resolved, request to close the thread or else feel free to touch base
Thanks and Regards
Anil -
Data transfer from External Bluetooth device to iPhone
Dear Team,
We have a requirement, Data Transfer from a SIB (CAN to Bluetooth) to iPhone.
As we know in iPhone Bluetooth is support for Audio devices.
Is there any way to achieve the data transfer from an external Bluetooth device to iPhone/iPad?
With Thanks and Regards
Chandan Prakash
Renault Nissan
Chennai, IndiaOk. There are some apps where we can send and receive data like photos, contacts, etc. We can chat also. So is there any way to receive data?
-
Candidate Data transfer from E-Recruiting System to HR system for New Hiring.
Hi All,
Hope everyone doing in good Spirit.
We are implementing E-Recruiting as Standalone for one of our client.
Can any please help me in regards with Data transfer from E-Rec System to HR System for hiring once the candidate has been successfully completed recruiting process.
You inputs are highly appreciable.
Thank you.
Sekhar.Hello Sekhar,
there are three different scenarios for transferring the data of an external candidate to the HR core for hiring.
the easiest and most commonly used is the RFC connection. When creating an activity of category data transfer the data of the candidate is transferred from eRec to HR core. There it is stored in table T752F. Then you can run transaction PA48. There you can select the candidate and run a hiring action. This is the same action like in PA40 only the system will preset the fields with the values from eRec (similar to batch input).
Instead of using the RFC solution you can transfer the data using PI (this can be activated using a switch in T77S0). To be honest none of my customers is using this. Either they had no PI server at all or they did not use it for eRec
The third was delivered with a business function HCM_HIRE_INT_CI_1. This is based on HCM processes and forms and targeted towards customers using Talent Management Core (e.g. data for education and work experience is transferred into the TM Core infotypes 740X as contrary to the hr core standard infotypes 0022 and 0023 they are structured like the eRec ones). Of course as you can do a lot of customer enhancements to HCMP&F you can replace the behavior nearly completely. One or two of my clients discussed this solution but as far as I know none is actually using it.
The simple truth is most customers seem to not use any integration at all. The first solution is easy to activate but only covers around 13 fields. Compared to a real full blow hiring action this is not even 10% of the fields which have to be entered. So the presetting this small number of fields is not a great help especially as you have to check every information anyways. Furthermore PA48 is not very nice and lacks functions to structure the incoming records which makes it difficult to handle in large distributed organizations.
The other two options require a lot of infrastructure for small functionality. What we discussed with a client was using the new hire integration to preset a full hiring form with eRec data and then send to the candidate as offline form to gather all missing information and use this for hiring. But there were to many issues on data privacy aspects when sending a form with social security data, bank account data, etc. via email. Furthermore they required actual signatures.
Kind regards
Roman -
Online data transfer from R/3 to APO
Dear friends,
Can any one help me? What is the transaction code for online data transfer from R/3 to APO?
Material master;
BOM;
Work Center;
Routing;
Production version.
My understanding is to create integration models and activate them:
/CFM1
/CFM2
/CFM3
Once it is activated I will be able to see the Master data, Material Master, BOM, Workcenter, Routing and Production version in APO?
Thanks
Raj
Edited by: Wilian Segatto on Jan 19, 2010 2:07 PMHello Raj -
If understand you are saying that the a batch job is run every 12 hrs to send in the master data from r/3 to APO?
if thats the case then you have to wait to see the changes or the material that you are trying to CIF till the next batch runs through. the steps tht you have described are right
Create the integration model.
activate the integration model.
there are settings in there where you can transfer the data real time also, but i guess your project is not using it.
Hope this helps.
Regards,
Suresh Garg
Maybe you are looking for
-
Delayed save as dialog box.
I have an issue with any adobe product that I have on my machine. Illustrator, Framework, or photoshop. Whenever I go to save as, it is always delayed at least 10 seconds or longer. I have checked network drives that are no longer available, network
-
Flash/Flash Player will not open link to web page when clicked
Hi there, I am testing a FLASH animation ad that has links to a website. When I click on the links, it opens firefox but it doesn't go to the link! I have added the links and the file names in the Adobe Flash Settings Manager, restarted several
-
How do you debug JavaFX Script
I'm very frusturated with JavaFX debugging "feature". (I'm using Netbeans 6.7.1 on Linux x86 platform.) It doesn't let me to watch objects, how can one debug code without watching objects? Great effort JavaFX team, that really made developing JavaFX
-
Atomic block of code in SwingWorker thread?
Hi, I am coding a Swing application. It has a SwingWorker thread that can be interrupted by a Progress bar. Inside the worker thread, there are a few lines of code (not a method) that should be executed all or none. In another word, if the thread run
-
I installed Acrobat 7.0 on a new computer. Should I remove the existing Adobe Reader X ? Seems to be duplication of reader.