Code modification...urgent
hi experts,
i am new to enhancement and modifications.
can anybody tell me
1.is the term modification and code modification one and the
same?or different?if so,
2.what is code modification?
3.how do u do code modification?
4.adv. and disadv. of code modifications?
i appreciate if u provide links also.
thanks in advance.
Hi
Explicit Enhancement Options
There are two types of explicit enhancement options: Source code enhancements with source code plug-ins and BAdIs:
Explicit enhancement options of the source code enhancement type allow you to insert source code plug-ins. These are lines of code that are executed if the source code enhancement option is inserted in the code with the Enhancement Point command. Source code enhancement options with the Enhancement Section command behave the same, except that the source code plug-in replaces the section in the original code. Therefore, you are not only able to enhance the original code, but can also flag specific code sections (as enhancement sections) so that other developers can replace these sections with other code without making modifications.
Business Add-Ins (BAdIs) are hangers for object plug-ins. A BAdI definition comprises an interface with methods. BAdIs are enhanced by classes that implement the BAdI interface. If you instantiate a BAdI and then call its methods, you can, among other things, specify which method implementations are to be carried out on the basis of filter values. In other words, a BAdI method call is a dynamic method call with a specified interface, for which it is not determined until runtime which method implementations are to take place.
In the case of source code enhancements, the definition and call coincide. You define BAdIs once in the BAdI Builder and can then call them at different points in the various compilation units.
Implicit Enhancement Options
Implicit enhancement options are fixed points in compilation units that is, points that remain intact even if the code is changed. This is important for the following reason: If the location of an enhancement is moved, you have to check manually after an upgrade whether the enhancement is still at the correct point and replace it if necessary. The following are implicit enhancement options at which enhancements can always be inserted:
You can always insert source code plug-ins before the first and the after the last line of includes, methods, reports, and function modules.
You can always add further optional parameters to function modules.
For global classes, there are different permanent, implicit options for enhancements: You can insert additional attributes or methods, and you can add optional parameters to existing methods
Customer-Specific Modification and Enhancement Possibilities
Use
The following documentation provides an overview of the customer-specific modification and enhancement possibilities in the IS-H System. Note that to implement enhancements, you require ABAP programming knowledge.
Features
The IS-H system provides the following technical possibilities for customer-specific modifications and enhancements
Business Add-Ins (BAdIs)
If default code (standard procedure defined by SAP) exists for the BAdI, please note it will be overwritten when you implement the BAdI. You can, if required, re-use the default code in your implementation.
As of SAP NetWeaver 2004, the enhancement concept of the ABAP Workbench (Enhancement Framework) is available for BAdIs. Note that SAP Patient Management contains BAdIs that use the Enhancement Framework as well as the classic BAdIs.
Customer Exits (transaction SMOD)
If SAP delivers sample code for the customer exit, you can access it when implementing the exit by choosing Goto ® Sample Code. You can re-use the sample code using Copy&Paste
User Exits from the IS-H Implementation Guide: Basic Settings ® Configuration/Systems/Events ® Display SAP User Exits.
To implement the IS-H user exits, copy the function module delivered by SAP into a customer-specific function group. The name of the function module delivered by SAP is specified in the table you call in the IS-H Implementation Guide by choosing the path specified to the left here.
Once youve copied the source code, you can modify this copy to meet your needs. Note that you must not modify the interface of your own function module.
Now enter the name youve chosen for the function module in the customer table. You access this table by choosing Basic Settings ® Configuration/Systems/Events ® Configure Customer User Exits.
If it is helpful rewards points.
Regards
Pratap.M
Similar Messages
-
Problem in SAP standard code modification for FB03
Hi Experts,
I am adding 4custom fields in FB03 tcode by doing a SAP standard code modification in SE51.
The program name is SAPMF05L and screen no. is 302(In some SAP verion, it is 304). This is the screen for document line item of an invoice.
My problem is:
When I add the fields in the screen, in which module will I put logic in the PBO and PAI as I am unable to figure out the German comments and the program structuring.
Also, if anybody can tell me what to write as I am little bit confused about the logic of populating my fields with the values.
FB03 is a display transaction so I have to keep my custom screen fields disabled.
Regards,
Sangeeta.Hi Sangeeta,
For enhancing the screen of this Tcode, first of all search is there any Screen enhancement is provided by SAP or not and in case if it is provided then use that only.
Regards
Jagesh Lakdawala -
Signed classes & preventing code modification
Hi, I've got a generic question concerning preventing code modification.
Suppose I have written some neat code (yeah, that might happen, one never knows ;-)) and I want to bundle it in a JAR AND make sure nobody will modify my code (at least, without a warning).
All right. I make up my JAR, and I sign it. This adds a SIGNER.SF & SIGNER.DSA/.RSA to the JAR.
Yes... but... what prevents another person from:
1. downloading my JAR
2. unjarring my JAR, and retrieving the important .classes
3. eventually, modifying the .class (to make my code silly and ugly for instance ! ;-( ).
4. make again the JAR, and sign it with his own keys
You'll tell me: "Yes, this is possible, but then the code is signed by him, not by you !". Correct... But who will warn the user that has downloaded my code that he's not using "my" code but another one.
I'll have to tell him "check the signature is 0215AB45...". 1/ This is Highly unpractical... 2/ If He's the bad guy, this does not prevent him from modifying my code !
Any solution or interesting thoughts for that topic ?
Thanks,
Axelle.Signing is not intended to prevent modification, java classes can always be decompiled, modified and redistributed. What signing does is allow modification to be detected.
If a user has your public key, he will be able to detect that the (modified) jar was not signed by you, and hence is untrustworthy.
Similarly a java application can detect that a given jar file (or even object, eg: an authentication token) was not signed by you, and hence cannot be trusted. If however the Bad Girl has access to the application code, she can decompile said application code and modify it so that it doesn't care.
If you want to protect your code, you can try obfuscating it (there are various obfuscation tools around, do a search on google), but all this does is make the decompiled code less easy to read (variable names all a1, a2, etc), and won't really stop anyone who is serious about stealing your cool code.
Another option might be to deploy a compiled version (if you are distributing an application to a single platform), but this won't work with applets, loses the portability of java classes, and if the Bad Girl is good enough (and determined enough) it will only slow her down (though probably a fair bit).
The only sure fire way I know of preventing your Java code from being stolen is to not distribute it, which is hardly useful. -
Code modification to read fixed vendor (Urgent)
Hi All,
The below code is basically selecting the fixed vendor as per EORD table for a given material - plant combination. But the issue is for this combination, there can be different fixed vendors but during different times
eg:
Mtl - A, Plant - 1000
Fixed vendor: Vendor1, From 1.1.2000 To 31.12.2003
Fixed vendor: Vendor2, From 1.1.2004 To 31.12.2007
Fixed vendor: Vendor3, From 1.1.2008 To 31.12.2010
So i want to add one more condition, which reads the system date & if the system date lies in-between 1.1.2000 to 31.12.2003, it selects vendor 1 or if the system date lies in between 1.1.2004 to 31.12.2007, then select vendor 2.
So how can i add this condition? The valid from field is EORD-VDATU & the valid to field is EORD-BDATU
Code:
CLEAR: Y_LIFNR, Y_FLIFN, WL_MATNR.
SELECT SINGLE LIFNR FLIFN MATNR FROM EORD INTO (Y_LIFNR, Y_FLIFN,
WL_MATNR)
WHERE MATNR EQ MARC-MATNR
AND WERKS EQ MARC-WERKS
AND FLIFN NE ' '.
Hope my question is clear, await inputs
VivekHi,
Check the below logic:
if sy-datum >= 1.1.2000 and sy-datum <= 31.12.2003.
vendor = vendor1.
elseif sy-datum >= 1.1.2004 and sy-datum <= 31.12.2007.
vendor = vendor2.
elseif sy-datum >= 1.1.2008 and sy-datum <= 31.12.2010.
vendor = vendor3.
endif.
CLEAR: Y_LIFNR, Y_FLIFN, WL_MATNR.
SELECT SINGLE LIFNR FLIFN MATNR FROM EORD INTO (Y_LIFNR, Y_FLIFN,
WL_MATNR)
WHERE MATNR EQ MARC-MATNR
AND WERKS EQ MARC-WERKS
AND FLIFN NE ' '.
and lifnr = vendor
AND VDATU >= SY-DATUM
AND BDATU <= sy-datum . -
Hi ,
While releasing billing doc to accounting we are getting error " Tax statement item missing for tax code R1".
Message no. FF805
Diagnosis
No tax item exists for tax code R1 in a G/L account item. A possible cause is an incorrect transfer of parameters by the application to the Accounting interface.
Procedure
Enter an OSS message
Please let me know how to resolve this as it is urgent.
Regards
Ravi KumarHi
check 0b40 settings
Cheers
Muralidhar -
Default GL Assignment to Tax Code - Very Urgent
Dear Friends,
When I am doing the T. Code MIRO, the Service tax receivables and Education cess receivables are automatically coming in the accounting entry.
The entry is as follows :
GR / IR A/c Dr 10500
Service Tax Receivables Dr 315
Education Cess Receivables Dr 6. 30
To Vendor Account 10821.30
Actually this is Service vendor transaction. So, I did the following transactions in MM.
1. Created Purchase order u2013 I gave Tax code as S6 in that.
2. Created Service sheet through T. Code u2013 ML81N u2013 in this I gave the cost center and GL A/c ( GL A/c is -- Lease Rentals )
3. Invoice Posting through T.Codeu2013MIRO u2013 in this also mentioned the Tax Code-S6
Note : As per MM Consultant we should not do the MIGO because this is service vendor and when we release the service sheet then automatically MIGO entry will post.
So, in the above 3 transactions ( MM ), Any where I did not mentioned the Service tax recv and Education cess recv GL accounts manually.
Our client is following the CIN u2013 TAX INN procedure.
Account keys u2013 ESA and ESE are updating in the above transaction.
I checked the following T. Codes for automatic assignment of GL accounts to the Tax Code.
1. OBYC
2. OB40
3. OBQ3
4. FTXP
5. FV 11 & 12 & 13
6. OKB9
7. Validations and Substitutions
8. User Exists
9. spro u2013 Logistics general u2013 Tax on goods movement u2013 India u2013
10. FBKP
11. OB28, OBBH , OBCN , GGB0, GBB1 , GBX2.3
So, In all the above T. Codes I did not find any assignment of GL Accounts to the above said Tax Code u2013 S6.
Now problem is My client is saying that the 2 GL accounts i.e. Service tax recv and Education cess recv GL accounts should not effect when they use Tax Code S6.
I am not able to find where these GL accounts are assigned to the Tax Code u2013 S6.
SO , KINDLY EXPLAIN ME WHERE THESE 2 GL ACCOUNTS ARE ASSIGNED TO THE TAX CODE .
Its very urgent, looking forward for an early and positive reply.
Thanking You,
Regards,
K. S. Sai Kumar
09930870886
Hyderabad.Dear All,
I checked the following T. Codes for automatic assignment of GL accounts to the Tax Code.
1. OBYC
2. OB40
3. OBQ3
4. FTXP
5. FV 11 & 12 & 13
6. OKB9
7. Validations and Substitutions
8. User Exists
9. spro u2013 Logistics general u2013 Tax on goods movement u2013 India u2013
10. FBKP
11. OB28, OBBH , OBCN , GGB0, GBB1 , GBX2.3
So, In all the above T. Codes I did not find any assignment of GL Accounts to the above said Tax Code u2013 S6.
Thanking You,
Regards,
K. S.Sai Kumar -
ABAP Code Modification for Command Tickets
Hi Experts
Modification to processing of Command Orders & Tickets
We require a modification to the processing being performed on sales data originating from the Command Concrete system and potentially from other systems yet to come online (e.g. Reddies Cement plant).
The Sap process involved is
ZINT_INBOUND_POLLING and within that,
ZINT_CSTPORD_ROUTINES.
The problem
Currently there is an assumption that every sales order (and its deliveries) will include a product which is made to order, i.e. for which a production order will be required.
In ZINT_CSTPORD_ROUTINES, a check is made to identify the production order linked to the sales order. If there is no such production order (usually because of the customeru2019s credit status) then processing of the ticket is terminated.
This assumption would fall down if an order was to be raised (in Command) on which there is no concrete material. For example, if we sold a bag of pigment or a screed to a customer. In this case the item would be sold from stock and there would be no need for a production order
The solution
In the routine which checks for the existence of a production order, modify the code as follows:
Inspect each item on the sales order
If (and only if) there is at least one item with a category of u201CZTACu201D then check for a production order, otherwise process the order in the usual manner.
The following Coding of programs are below.
Report: ZINT_INBOUND_POLLING
Description: REDDIES Interfaces: Polling Job for Inbound Interfaces
This report is a general file polling and distribution job for
inbound interfaces. Interfaces are identified by their assigned ID
and type values (refer to table ZINT_ADMIN). The polling job can be
run only for a single interface. This restriction has been implemented
for performance reasons. Dependent interfaces should be set up as
separate, dependent jobs in SM37.
For an interface to be triggered by this report, it must have:
1. Administrative parameters entered in table ZINT_ADMIN.
2. Other parameters (eg. organisational data such as plant or store)
entered in table ZINT_PARAM.
3. An interface-specific function module created in accordance with
the inbound interface template (ZINT_INBOUND_INTERFACE).
4. An interface-specific directory structure. This structure must
be reflected in the directory parameters of table ZINT_ADMIN.
Note that the directory names supplied in ZINT_ADMIN must exactly
match those used for the actual directories.
This job is designed to run as a periodic background job, but can
also be run on-line when required.
On each execution, the program performs the following tasks:
1. Validate all selection parameters.
2. Read interface administration and other parameters.
3. Check the inbound directory to see if there are any new files.
4. If there is a new file.
4.1 Read the data and update the interface log.
4.2 Archive the data and update the interface log.
4.3 Call the interface function module, sending data and parameters.
4.4 Log any messages returned from the function module.
5. Exit.
Please document all changes to this job carefully and clearly. Major
additions to functionality should be put in new, parameterised form
routines wherever possible to sustain maintainablility of the code.
Change History:
Date User Request Description
07/02/2006 EDWG WG1K902600 Original program.
20.07.2007 ROBS Changes to handle error messages better.
report zint_inbound_polling line-size 170
line-count 58(2)
message-id zz
no standard page heading.
Global Data Declarations
include zint_interface_data.
data: begin of tbl_messages occurs 0,
line(132) type c,
end of tbl_messages.
--Field Symbols--
field-symbols: <function>.
--Global Variables--
Selection Screen
--Interface Mode--
RJS Start >>>
selection-screen begin of block b1 with frame title t_mode.
parameters: p_upl radiobutton group p1.
selection-screen skip 1.
select-options: s_intid for zint_intid-zint_id
matchcode object zint_intid,
s_intty for zint_intty-zint_ty
matchcode object zint_intty.
selection-screen uline.
parameters: p_pro radiobutton group p1.
selection-screen skip 1.
RJS End <<<
Interface ID
parameters: p_intid like zint_intid-zint_id
matchcode object zint_intid.
Interface type
parameters: p_intty like zint_intty-zint_ty
matchcode object zint_intty
default 'I'.
IDOC group or set
parameters: p_intis type zint_is.
select-options: s_datum for zint_data-created_on.
selection-screen skip 1.
parameters: p_dlgrp as checkbox default c_false.
data: p_alone(1) type c value 'X'.
selection-screen skip 1.
Interface parameter set and sequence number.
parameters: p_intsi like zint_param-zint_si,
p_intsq type zint_sq default '001' no-display.
selection-screen uline.
parameters: p_apsrv radiobutton group r1,
p_pc radiobutton group r1.
selection-screen skip 1.
parameters: p_nowar as checkbox default c_true.
selection-screen end of block b1.
Event Processing
--IDOC Set Values--
at selection-screen on value-request for p_intis.
Display a selectable list of parameter sets
perform select_idoc_set using p_intid
p_intty
changing p_intis
v_rtcod.
if v_rtcod ne c_noerr.
Problem displaying parameter lists
message i000 with 'Unable to display IDOC set values.'
'Please enter an interface ID and type.'.
endif.
--Parameter Set Values-----
at selection-screen on value-request for p_intsi.
Display a selectable list of parameter sets
perform select_parameter_set using p_intid
p_intty
changing p_intsi
v_rtcod.
if v_rtcod ne c_noerr.
Problem displaying parameter lists
message i000 with 'Unable to display parameter list values.'
'Please enter an interface ID and type.'.
endif.
--Check Interface Admin.---
at selection-screen on: p_intty, p_intid.
perform validate_interface_admin using p_intid
p_intty
changing v_rtcod.
if v_rtcod ne c_noerr.
No administration parameters exist for interface
message e001 with p_intid p_intty.
endif.
--Validate Parameter Set---
at selection-screen on p_intsi.
perform validate_interface_param using p_intid
p_intty
p_intsi
changing v_rtcod.
if v_rtcod ne c_noerr.
Parameter set does not exist for interface
message e002 with p_intsi p_intid p_intty.
endif.
Initialisation
initialization.
perform set_screen_texts.
Start of Selection
start-of-selection.
RJS Start >>>
refresh: tbl_totals, tbl_messages.
UPLOAD INBOUND DATA ---------------------
if p_upl = 'X'.
perform upload_data.
PROCESS NEW or ERRORS -------------------
else. " p_pro = 'X'.
perform process_data.
endif.
RJS End <<<
End of Selection
end-of-selection.
Write the log file to the specified directory
read table t_ibfil index 1.
perform write_log_file tables t_ldata
using s_admin-zint_lg
t_ibfil-filename
p_apsrv
changing v_rtcod.
if v_rtcod ne c_noerr.
Error writing to log file
message i000 with 'Could not write to log file for interface'
s_admin-zint_id '/' s_admin-zint_ty.
endif.
RJS Start >>>
Write out Messages and totals
if p_pro = 'X'. " Processing Data
describe table tbl_messages lines sy-tfill.
if sy-tfill = 0.
write:/ 'Processing Complete. Use ZSTA to analyse'.
else.
loop at tbl_messages.
write:/ tbl_messages-line.
endloop.
endif.
else. " Uploading Data
format color col_total.
uline.
write:/ 'Upload Details:', 132 space.
uline.
format color off.
describe table tbl_totals lines sy-tfill.
if sy-tfill = 0.
write:/ '0 Records Processed'.
endif.
loop at tbl_totals.
write:/ 'Interface ID:', tbl_totals-zint_id,
' Type:', tbl_totals-zint_ty,
' Command Date:', tbl_totals-created_on,
' Records Processed:', tbl_totals-count.
endloop.
uline.
message s999(b1) with 'Data Upload Completed'
'- Please see full Results uing trans ZSTA'.
endif.
RJS End <<<
Form Routines
include zint_interface_routines.
*& Form upload_data
text
form upload_data.
data: lt_admin type standard table of zint_admin with header line.
data: l_message(80) type c.
select * from zint_admin into table lt_admin
where zint_id in s_intid
and zint_ty in s_intty.
loop at lt_admin.
refresh t_idata.
refresh t_ibfil.
Progress Message
concatenate 'Reading Inbound data files in'
lt_admin-zint_ib
into l_message separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
PERCENTAGE = 0
text = l_message.
Check for a new inbound file and read its data.
perform read_inbound_data tables t_idata
t_ibfil
using lt_admin-zint_ib
p_apsrv
changing v_rtcod.
if v_rtcod ne c_noerr and
v_rtcod ne 7 and " RJS- no files found
lt_admin-zint_ib ne space.
Write an error to the log
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'READ_INBOUND_DATA'
'Problem reading inbound interface file.'
p_nowar space.
exit.
endif.
Exit if there is no data.
describe table t_idata lines v_fldsz.
check v_fldsz gt 0.
Write inbound data to a database table, for later access
perform write_data tables t_idata
using lt_admin-zint_id
lt_admin-zint_ty
lt_admin-zint_fm
lt_admin-zint_ib.
Move the inbound file to the archive directory
perform archive_inbound_data tables t_ibfil
using p_apsrv
lt_admin-zint_ar
lt_admin-zint_ib
changing v_rtcod.
if v_rtcod ne c_noerr.
Write an error to the log if unable to move file
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'ARCHIVE_INBOUND_DATA'
'Problem archiving inbound interface file.'
p_nowar space.
endif.
endloop.
endform. "upload_data
*& Form process_data
text
form process_data.
data: lt_idata type standard table of x_idata with header line.
data: s_idata type x_idata,
l_last_status(3) type c.
data: l_message(80) type c,
l_status(3) type c,
l_lines(5) type c,
l_date(10) type c.
Validate input parameters
if p_intid = space
or p_intty = space
or p_intsi = space.
message e999(b1) with 'Mandatory fields must be filled'.
endif.
Read the interface administration parameters
perform get_admin_parameters using p_intid
p_intty
changing s_admin
v_rtcod.
if v_rtcod ne c_noerr.
Write an error to the log
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'GET_ADMIN_PARAMETERS'
'No admin. parameters for interface. Check ZINT_ADMIN'
p_nowar space.
endif.
Read the other interface parameters (if required)
if p_intsi ne space.
perform get_other_parameters tables t_param
using p_intid
p_intty
p_intsi
changing v_rtcod.
if v_rtcod ne c_noerr.
Write an error to the log
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'GET_OTHER_PARAMETERS'
'No org. parameters for interface. Check ZINT_ADMIN'
p_nowar space.
endif.
endif.
Read any Error records for reprocessing - if none, read New data
perform read_data tables t_zint_data
changing v_rtcod.
clear l_status.
loop at t_zint_data.
Create subset of all records, per Command Date
at new created_on.
refresh t_idata.
clear l_lines.
endat.
at new key_val.
add 1 to l_lines.
endat.
append t_zint_data-raw_data to t_idata.
Process one date at a time
at end of created_on.
Progress Message:
write t_zint_data-created_on to l_date dd/mm/yyyy.
concatenate 'Processing' l_lines 'records for'
p_intid '/' p_intty '/' p_intsi 'Created:'
l_date
into l_message separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = l_message.
Process the incoming data
assign s_admin-zint_fm to <function>.
call function <function>
exporting
i_zint_id = p_intid
i_zint_ty = p_intty
i_zint_si = p_intsi
i_zint_is = p_intis
i_zint_dl = p_dlgrp
i_zint_as = p_apsrv
i_zint_al = p_alone
i_zint_nw = p_nowar
i_zint_sq = p_intsq
tables
t_zint_mslog = t_ldata
t_zint_idata = t_idata
t_zint_param = t_param
changing
c_zint_rc = v_rtcod
exceptions
no_such_interface = 1
invalid_parameter_set = 2
data_table_empty = 3
invalid_idoc_group = 4.
case sy-subrc.
--No Such Interface--
when 1.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'Interface does not exist in ZINT_ADMIN.'
p_nowar space.
--Invalid Parameter Set----
when 2.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'Invalid parameter set for interface. Check ZINT_PARAM'
p_nowar space.
--Data Table Empty--
when 3.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'No inbound data. Check directory as per ZINT_ADMIN'
p_nowar space.
--Invalid IDOC group--
when 4.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'Invalid IDOC group. Check ZINT_ADMIN.'
p_nowar space.
--Others--
when others.
endcase.
Now store messages not related to a specific key
loop at t_ldata into s_ldata where key_val = space.
move s_ldata-messg to tbl_messages-line.
append tbl_messages.
endloop.
refresh t_ldata.
If data for last date had errors, then stop processing further dates
clear l_last_status.
select status from zint_data into l_last_status
where zint_id = p_intid
and zint_ty = p_intty
and key_val = t_zint_data-key_val.
endselect.
if l_last_status = 'ERR'.
concatenate 'Processing Halted - Errors for Date' l_date
into l_message separated by space.
message s999(b1) with 'ZINT_INBOUND_POLLING' <function>
l_message.
exit.
endif.
endat.
endloop.
endform. "process_data
*& Form set_screen_texts
Assign values to the selection screen titles.
form set_screen_texts .
t_mode = 'Run Mode'. " RJS
endform. " set_screen_texts
RJS Start >>>
*& Form write_data
Save the Inbound data to table ZINT_DATA, for later processing
-->PT_IDATA text
-->PV_ID text
-->PV_TY text
-->PV_FM
-->PV_IB
form write_data tables pt_idata structure zint_idata
using pv_id
pv_ty
pv_fm
pv_ib.
data: l_key_val like zint_data-key_val,
l_seq like zint_data-sequence,
l_created_on like zint_data-created_on,
l_counter type i.
data: lt_zint_data type standard table of zint_data with header line.
get time.
clear l_created_on.
refresh lt_zint_data.
loop at pt_idata.
clear lt_zint_data.
lt_zint_data-zint_id = pv_id.
lt_zint_data-zint_ty = pv_ty.
lt_zint_data-status = 'NEW'.
Derive both the "Key" value (KEY_VAL) and the
"Command Data Date" value (CREATED_ON) to store on the Data table
case pv_fm.
when 'ZINT_INBOUND_INTERFACE_CSSORDR'.
if pt_idata-zint_re(2) = '01'.
perform get_command_order_key using pt_idata-zint_re
l_key_val
l_created_on.
endif.
when 'ZINT_INBOUND_INTERFACE_CSTPORD'.
if pt_idata-zint_re(2) = '01'.
perform get_prod_order_key using pt_idata-zint_re
l_key_val
l_created_on.
endif.
when 'ZINT_INBOUND_INTERFACE_CSTGISS'.
perform get_sales_order_key using pt_idata-zint_re
l_key_val.
endcase.
lt_zint_data-created_on = l_created_on.
lt_zint_data-key_val = l_key_val.
lt_zint_data-length = strlen( pt_idata-zint_re ).
lt_zint_data-raw_data = pt_idata-zint_re.
append lt_zint_data.
endloop.
Setup the sequence number for each key value
loop at lt_zint_data.
at new key_val.
clear l_seq.
endat.
add 1 to l_seq.
lt_zint_data-sequence = l_seq.
modify lt_zint_data.
endloop.
Check for existing data with this same key
clear l_counter.
select count(*) from zint_data into l_counter
for all entries in lt_zint_data
where zint_id = lt_zint_data-zint_id
and zint_ty = lt_zint_data-zint_ty
and created_on = lt_zint_data-created_on
and key_val = lt_zint_data-key_val
and sequence = lt_zint_data-sequence.
Found duplicate data?
if l_counter > 0.
Yes: so remove these records from the input table
loop at lt_zint_data.
clear l_counter.
select count(*) from zint_data into l_counter
where zint_id = lt_zint_data-zint_id
and zint_ty = lt_zint_data-zint_ty
and created_on = lt_zint_data-created_on
and key_val = lt_zint_data-key_val
and sequence = lt_zint_data-sequence.
if l_counter > 0.
delete lt_zint_data.
endif.
endloop.
message i999(b1) with 'Data already exists in SAP! Directory:' pv_ib
'Key:' lt_zint_data-key_val.
endif.
Now save whatever is not a duplicate
loop at lt_zint_data.
Store new data records
insert zint_data from lt_zint_data.
and Store totals for reporting
tbl_totals-zint_id = lt_zint_data-zint_id.
tbl_totals-zint_ty = lt_zint_data-zint_ty.
tbl_totals-created_on = lt_zint_data-created_on.
tbl_totals-count = 1.
collect tbl_totals.
endloop.
endform. "write_data
*& Form get_command_order_key
Extract Command Order from raw data
-->L_LINE text
-->L_KEY text
form get_command_order_key using l_line l_key l_date.
data: l_orddate type d,
l_order(12) type n,
l_data(3000) type c,
l_shortorder(5) type n.
l_data = l_line.
perform extract_field(saplzint_csord)
using l_data
changing l_data
l_orddate.
perform extract_field(saplzint_csord)
using l_data
changing l_data
l_order.
l_shortorder = l_order.
if l_order le 9999.
concatenate l_orddate+2(6) '-'
l_shortorder
into l_key.
else.
concatenate l_orddate+2(6)
l_shortorder
into l_key.
endif.
l_date = l_orddate.
endform. "get_command_order_key
*& Form get_prod_order_key
Extract Commant Ticket number from raw data
-->L_LINE text
-->L_KEY text
form get_prod_order_key using l_line l_key l_date.
data: l_ticketdate type d,
l_data(3000) type c,
l_ticket(10) type n.
l_data = l_line.
perform extract_field(saplzint_cstik)
using l_data
changing l_data
l_ticketdate.
perform extract_field(saplzint_cstik)
using l_data
changing l_data
l_ticket.
l_key = l_ticket.
l_date = l_ticketdate.
endform. "get_prod_order_key
*& Form get_sales_order_key
text
-->L_LINE text
-->L_KEY text
form get_sales_order_key using l_line l_key.
l_key = l_line(10).
endform. "get_sales_order_key
*& Form read_data
Read data from custom table
-->PT_ZINT_DATA text
-->P_STATUS text
form read_data tables pt_zint_data structure zint_data
changing p_rtcod.
data: lt_zint_data type standard table of zint_data with header line.
data: l_found_rec(1) type c.
clear p_rtcod.
refresh: pt_zint_data, lt_zint_data.
Read stored data in date/time order
select * from zint_data into table lt_zint_data
where zint_id = p_intid
and zint_ty = p_intty
and status in ('ERR','NEW')
and created_on in s_datum
order by created_on key_val sequence.
Always ensure any existing Error records are re-processed first.
loop at lt_zint_data where status = 'ERR'.
move lt_zint_data to pt_zint_data.
append pt_zint_data.
Store totals for reporting
tbl_totals-zint_id = p_intid.
tbl_totals-zint_ty = p_intty.
tbl_totals-created_on = lt_zint_data-created_on.
tbl_totals-count = 1.
collect tbl_totals.
endloop.
Loop through the NEW records - add to list if no other errors
loop at lt_zint_data where status = 'NEW'.
l_found_rec = 'N'.
loop at pt_zint_data where status = 'ERR'
and created_on <> lt_zint_data-created_on.
l_found_rec = 'Y'.
exit.
endloop.
Found no errors for another date - so add NEW data
if l_found_rec = 'N'.
move lt_zint_data to pt_zint_data.
append pt_zint_data.
Store totals for reporting
tbl_totals-zint_id = p_intid.
tbl_totals-zint_ty = p_intty.
tbl_totals-created_on = lt_zint_data-created_on.
tbl_totals-count = 1.
collect tbl_totals.
endif.
endloop.
endform. "read_data
UNDER THIS THERE IS BELOW PROGRAM
*& Include ZINT_CSTPORD_ROUTINES *
Report: ZINT_CSTPORD_ROUTINES
Description: REDDIES Interfaces: COMMAND-SAP Interface Forms (Tickets)
Routines fpr the COMMAND-SAP production order interface. Note: some
of the code in this file has been directly copied from the original
interface (ZPPU_COMMAND_PRODUCTION, Jason Moore, Extend). This has
been done for two reasons: (1) the code works and (2) to save time.
Change History:
Date User Request Description
13/02/2006 EDWG WG1K902600 Original program.
*& Form process_inbound_data
Create prod. orders from ticket data extracted from the COMMAND
system. Note that large portions of the code in this routine
have been copied from the retired ZPPU_COMMAND_PRODUCTION
interface program. This was done (1) because the old code works
and (2) to save development time.
-->T_ZINT_IDATA Internal table of interface data
-->T_ZINT_PARAM Internal table of interface parameters
-->T_ZINT_MSLOG Internal table of messages
-->P_ZINT_ID Interface ID
-->P_ZINT_TY Inteface type
-->P_ZINT_IS IDOC group for interface
-->P_ZINT_DL Flag: delete IDOC group when complete
-->P_ZINT_AL Flag: run in standalone mode
-->P_ZINT_NW Flag: do not log warning messages
-->P_ZINT_SQ Interface sequence number
<--P_ZINT_RC Return code (<>0=>error)
form process_inbound_data tables t_zint_idata structure zint_idata
t_zint_param structure zint_param
t_zint_mslog structure zint_mslog
using p_zint_id type zint_id
p_zint_ty type zint_ty
p_zint_is type zint_is
p_zint_dl type zint_dl
p_zint_al type zint_al
p_zint_nw type zint_nw
p_zint_sq type zint_sq
changing p_zint_rc type zint_rc.
data: lva_partner(10) type n,
lva_cmdord(12) type n,
lva_prodmat(18) type n,
lva_filemat(18) type n,
lva_prodord(12) type n,
lwa_file type ty_file,
lva_type(2) type c,
lva_satsur type c,
lva_mincart type c,
lva_text(200) type c,
lva_counter type i,
bblines type i,
lva_shortorder(5) type n,
lva_loggr like marc-loggr,
lva_saleord like vbkd-vbeln,
lva_linkindex like sy-tabix,
lva_xabln like likp-xabln,
lva_vbeln like likp-vbeln,
l_vbfa like vbfa,
lva_igmng like caufv-igmng,
lva_gamng like caufv-gamng,
lva_qdiff like caufv-gamng,
lva_ltxa1 like afru-ltxa1,
lva_aufnr like afru-aufnr,
lva_wemng like afpo-wemng,
lva_psmng like afpo-psmng,
lva_rsnum like resb-rsnum,
lva_rspos like resb-rspos,
lHi ,
Modify your code like this .
DATA: YEARS TYPE TFMATAGE,
MONTHS TYPE TFMATAGE.
*declare the variable as type Char
DATA: Y_NUM(4) TYPE c,
M_NUM(2) TYPE c.
IF NOT SOURCE_FIELDS-/BIC/ZDOB IS INITIAL.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = SOURCE_FIELDS-/BIC/ZDOB
I_DATE_TO = SY-DATUM
I_FLG_SEPARATE = 'X'
IMPORTING
E_MONTHS = MONTHS
E_YEARS = YEARS.
Y_NUM = YEARS.
M_NUM = MONTHS.
CONCATENATE Y_NUM '.' M_NUM INTO RESULT.
This will solve your problem.
MM -
Hi Guys,
Below you find some ABAP code that will get a lot of product and price information. A csv file is then created and put in a folder.
The program exports csv columns like this: ProductID;ProductName;PurchasePrice;Price;PriceVAT;Category;Brand;EAN
The only thing I would want is to adjust the code so that it does exactly the same, but only exports three columns: ProductID;PriceVAT;Stock
I would guess that it's not a very big modification, but my knowledge of ABAP is very low. So I hope you guys can help me out here
Here's the code: [catalog_abap_code|http://www.storylinedesign.be/catalog_abap_code.txt]
Cheers,
Jimmyanyone?
-
Regaring code ,its urgent
hi,
i had amde dis code for displaying the changes made on material in purticular month,70% report is working fine but problem is dat when i want to see the deatils of changes made to it ,it is not displaying all records,i.e. if dere are 5 changes made to a purticular materail den it is displaying only 3 ,but i want to show all of dem .
plzzz help me out as it is very urgent to me and help will be definately rewrded.
dis is my report code.plzz try to help me:-
REPORT ZNEW01 no standard page heading LINE-SIZE 310.
TABLES: CDHDR,CDPOS.
DATA: BEGIN OF ITAB OCCURS 0,
OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
OBJECTID LIKE CDHDR-OBJECTID,
USERNAME LIKE CDHDR-USERNAME,
UDATE LIKE CDHDR-UDATE,
UTIME LIKE CDHDR-UTIME,
TCODE LIKE CDHDR-TCODE,
CHANGE_IND LIKE CDHDR-CHANGE_IND,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0,
OBJECTCLAS LIKE CDPOS-OBJECTCLAS,
OBJECTID LIKE CDPOS-OBJECTID,
FNAME LIKE CDPOS-FNAME,
CHNGIND LIKE CDPOS-CHNGIND,
VALUE_OLD LIKE CDPOS-VALUE_OLD,
VALUE_NEW LIKE CDPOS-VALUE_NEW,
END OF ITAB1.
SELECT-OPTIONS: M_DATE FOR CDHDR-UDATE,
U_ID FOR CDHDR-CHANGE_IND.
SELECT BOBJECTCLAS BOBJECTID BUSERNAME BUDATE BUTIME BTCODE B~CHANGE_IND INTO
TABLE ITAB
FROM CDHDR AS B WHERE B~OBJECTCLAS = 'MATERIAL' AND UDATE IN M_DATE AND CHANGE_IND IN U_ID.
Check not itab[] is initial.
SELECT OBJECTCLAS OBJECTID FNAME CHNGIND VALUE_OLD VALUE_NEW INTO TABLE
ITAB1 FROM CDPOS
FOR ALL ENTRIES IN ITAB WHERE OBJECTID = itab-objectid and objectclas = ITAB-OBJECTCLAS .
ULINE.
LOOP AT ITAB.
WRITE:/ ITAB-OBJECTID,22 ITAB-USERNAME,ITAB-UDATE,ITAB-UTIME,ITAB-TCODE.
LOOP AT ITAB1 WHERE OBJECTCLAS = ITAB-OBJECTCLAS AND OBJECTID = ITAB-OBJECTID.
WRITE: 60 ITAB1-FNAME,ITAB1-CHNGIND,ITAB1-VALUE_OLD(40),ITAB1-VALUE_NEW(40).
ENDLOOP.
ENDLOOP.Hi,
As you are using FOR ALL ENTRIES to fetch itab1, it will remove the duplicate entries.
SELECT OBJECTCLAS OBJECTID FNAME CHNGIND VALUE_OLD VALUE_NEW INTO TABLE
ITAB1 FROM CDPOS
FOR ALL ENTRIES IN ITAB WHERE OBJECTID = itab-objectid and objectclas = ITAB-OBJECTCLAS .
ex: new_value old_value
10 20
20 30
30 10
10 20
20 30
In the output you will get only 3 records. i.e., first 3 records.
rest of the code is looking fine. This may be the problem.
Instead of using FOR ALL ENTRIES, fetch data for each record. -
HI GEMS,
PLEASE SEND ME THE CODE PLEASE ITS URGENT.
The retrieval logic is to be used only for displaying the accounting and assessment year
1) Accounting Year: GJAHR-(GJAHR+1)
Assessment Year GJAHR1) (GJAHR2)
2) Get the following details from BSIS/BSAS
BSIS/BSAS BELNR
BSIS/BSAS DMBTR
BSIS/BSAS SHKZG
Where
BSIS/BSAS GJAHR = P_GJAHR
BSIS/BSAS HKONT = (334551, 499001, 402001, 402002, 403000) and store them in an internal table INTAB1
Summate the BSIS/BSAS DMBTR and depict it in the first line of the table
3) For the documents contained in the INTAB1 table check whether there are any line items posted to HKONTs =(260501,260502,260503) and store them in an internal table INTAB2
If yes then get the following fields from BSIS/BSAS table
BSIS/BSAS BELNR
BSIS/BSAS DMBTR
BSIS/BSAS SHKZG
Where
BELNR = INTAB2-BELNR
GJAHR = P_GJAHR
HKONT = (260501, 260502 and, 260503)
SHKZG = H.
Summate the BSIS/BSAS DMBTR and depict against second line item and fourth line.
4) Subtract line1 and line2 and depict against the 3 line.
5) Subtract the DMBTR of 4th line from the 2nd line DMBTR and depict against the 5th line item.select BELNR DMBTR SHKZG
from BSIS
into itab
Where
GJAHR = P_GJAHR and
HKONT in (334551, 499001, 402001, 402002, 403000).
data s1 type i value 0.
loop at itab.
s1 = s1 + itab-dmbtr.
endloop.
Read itab where index = 1.
itab-dmbtr = s1.
append itab.
clear s1.
If itab1[] is not initial.
select BELNR DMBTR SHKZG
from BSIS
into itab2
Where
BELNR = INTAB2-BELNR and
GJAHR = P_GJAHR and
HKONT in (260501, 260502 , 260503) and
SHKZG = H.
endif.
data s2 type i value 0.
loop at itab2.
s2 = s2 + itab2-dmbtr.
endloop.
read itab2 where index =2.
itab2-dmbtr = s2.
append itab2.
read itab2 where index =4.
itab2-dmbtr = s2.
append itab2.
clear s2. -
How to manage code modifications among multiple users using Project.mpt or Global.mpt
Hi,
There is one copy of a Template.mpt file in the shared drive. Users copy this file to their project folder for a specific project and they save it as Project_n.mpp. There is only one Project_n.mpp file per project. So whoever works on the particular project
will always open the same Project_n.mpp file. There is a lot of projects that users work on and each of them has its respective Project1.mpp, Project2.mpp, Pproject3.mpp etc.file.
These files contain modules that are called on the Project Open and some of them on the Project Close. Current code in modules is used to update the project file with data from a database and also to update database with the data from
the project file.
I am looking now into the solution on how to incorporate any future modifications of the modules so that it can be applied to all project files.
If I modify code in any of the modules of the Template.mpt file that is on the Shared drive I am now sure that modifications will apply only to the new projects (when user initiate the Project_n.mpp and starts from the Template.mpt).
But in the case of already created project files (Project1.mpp, Project2.mpp, Project3.mpp) I also want to apply the modified code in modules, but currently when I open them I have the old code.
I tried using Global.mpt file but ran into some issues such as if I move all modules to the global.mpt the functions called from ThisProject/Project Open are ending having errors since they are not defined. Is there any way of specifying
in the project that modules are defined in the Global.mpt.
I also tried to Move modules from Template.mpt file to the Project_n.mpp file on the opening. Before moving modules I deleted them to avoid having to answer to the question "Do you want to replace the file?", but then some modules wouldn't get deleted
right away because functions that are called in the Project.mpp open event are defined in the modules I want to delete. They get deleted at the end of the code execute and that causes issues when code runs again.
I would appreciate any help, suggestion on how to solve this issue. I am open to any proposition in regards how to share modifications among all users and previous and future projects.
Thanks in advance.Well, it certainly sounds like you could use Project Server, rather than standalone Project and MPP files stored on hard drives. This would be a perfect example of why Project Server was developed.
Some of the features that may address your needs are...
Project Server permits the creation of "template" schedules, so that users create new projects from existing Templates on the server. There can be as many as you like - different templates
for different types of schedules. Users have a drop down menu to select which "type" of project they want to create. There are other items that can be associated to the project creation.
Project Server also has workflow, which can perform actions (on the server side, not the desktop) to help manage the Project Management process flow.
Project Server allows many users to access the same copy of the schedule via a check-out (for editing) / check-in mechanism. This ensures that everyone is seeing the current and accurate version of
the schedule.
Project Server allows you to automatically keep "archived" versions of your published schedules for backup / restore purposes.
Project Server stores all project information in a SQL server database which permits you to use standard SQL tools to transfer data in / out.
Finally, Project Server still uses a Global.mpt, which is stored in the database and every user gets an automatic update of that file each time they open a project from the server (they get a local
copy, which updates with any changes) so that all changes to Global MPT are pushed out to all project users.
It sounds like you may benefit from Project Server Online, which is quick and relatively cost effective.
http://office.microsoft.com/en-us/project-server-help/get-started-with-project-online-HA102858793.aspx
Pay close attention to your data transfer needs, this area is getting better, but may or may not meet your requirements.
Finally, work with a Microsoft Partner who has "been there and done that" so you get the most benefit from Project Server.
Hope that helps,
Thanks, Eric S. Pcubed -
Standard code modification with enhacement points..
hi,
i need to modify a couple of my standard programs. I have been suggested to follow this approach.
first get the acces key and go to change mode. then where u want to insert ur code, click on the insert button and get the insert block. Then here I need to have an implicit point !! how do i create that ? where do i associate these enh points to an enhancement spot ??
also, the advantage stated is that tomorrow if i dont need this modifications, i can just simply switch off the enhancement spot ?? or point ?? i am not sure ? any details on that ?
another question is what happens when tomorrow sap changes this standard program. will my enhancement point/spot remian intact ?? what do i do to reapply my changed code as enh points ??
can anyone please throw some more light on all these ??
thks[Enhancement Framework>> |http://wiki.sdn.sap.com/wiki/x/cwXEB]
"another question is what happens when tomorrow sap changes this standard program"
SAP would use some logic, which will make sure they are not spoiling the enhancement points...
rettkomv = xkomv.
perform (^*&*&&*) using xkomv from saplv61a if found. "<< I can only remember this for now..
xkomv = rettkomv. -
Hi pls respond my code its urgent
hi,
my prblm is in this program i used bapi function module for upload excel data.
bapi_incominginvoice_park.
in my output park number showing increasing for each item.
so i need parknumber it should be same for all items.
i am sending my code pls check this.
*& Report ZBAPI_MIRO
&& Developed By : ESWAR
*& Created Date : 29.10.2007
*& Requested By : GANESH(MM)
*& SAP Area : MM
*& Output : Excel format,Using BDC for Tcode MIRO
REPORT ZBAPI_MIRO.
DATA: BEGIN OF INTERN OCCURS 0.
INCLUDE STRUCTURE ALSMEX_TABLINE.
DATA: END OF INTERN.
DATA : IT_INTERN LIKE INTERN OCCURS 0 WITH HEADER LINE.
No of columns
DATA: BEGIN OF DATA_TAB OCCURS 0,
VALUE_0001(10), "DOC.TYPE
VALUE_0002(10), "DOC DATE
VALUE_0003(10), " PSTNG.DATE
VALUE_0003(10), " GROSS_AMNT
VALUE_0004(10), " REF_DOC_NO
VALUE_0005(10), "BLINE_DATE
VALUE_0006(10), "HEADER_TXT
VALUE_0007(10), "INVOICE_DOC_ITEM
VALUE_0008(10), "PO_NUMBER
VALUE_0009(10), " PO_ITEM
VALUE_0010(10), "TAX_CODE
VALUE_0011(11), "ITEM_AMOUNT
VALUE_0012(10), "SHEET_NO
VALUE_0013(10), "ITEM_TEXT
VALUE_0014(10), "SHEET_ITEM
END OF DATA_TAB.
DATA : BEGIN OF IT_DATA OCCURS 0,
invoice_ind like BAPI_INCINV_CREATE_HEADER-invoice_ind,
doc_type like BAPI_INCINV_CREATE_HEADER-doc_type,
doc_date like BAPI_INCINV_CREATE_HEADER-doc_date,
pstng_date like BAPI_INCINV_CREATE_HEADER-pstng_date,
comp_code like BAPI_INCINV_CREATE_HEADER-comp_code,
currency like BAPI_INCINV_CREATE_HEADER-currency,
gross_amount like BAPI_INCINV_CREATE_HEADER-gross_amount,
calc_tax_ind like BAPI_INCINV_CREATE_HEADER-calc_tax_ind,
REF_DOC_NO LIKE BAPI_INCINV_CREATE_HEADER-REF_DOC_NO,
bline_date like BAPI_INCINV_CREATE_HEADER-bline_date,
header_txt like BAPI_INCINV_CREATE_HEADER-header_txt,
invoice_doc_item like BAPI_INCINV_CREATE_ITEM-invoice_doc_item,
po_number like BAPI_INCINV_CREATE_ITEM-po_number,
po_item like BAPI_INCINV_CREATE_ITEM-po_item,
tax_code like BAPI_INCINV_CREATE_ITEM-tax_code,
item_amount like BAPI_INCINV_CREATE_ITEM-ITEM_AMOUNT,
sheet_no like BAPI_INCINV_CREATE_ITEM-sheet_no,
item_text like BAPI_INCINV_CREATE_ITEM-item_text,
sheet_item like BAPI_INCINV_CREATE_ITEM-sheet_item,
END OF IT_DATA.
DATA : BEGIN OF IT_CHAR OCCURS 0,
IND(6) TYPE N, ""Index for comparison
CHARN LIKE RCTMS-MNAME, "CHAR NAME
CHARV LIKE RCTMS-MWERT, "CHAR VALUE
END OF IT_CHAR.
DATA: BEGIN OF it_msg OCCURS 0,
po_number LIKE BAPI_INCINV_CREATE_ITEM-po_number,
po_item like BAPI_INCINV_CREATE_ITEM-po_item,
message(20),
message1(90),
mblnr TYPE mkpf-mblnr,
END OF it_msg.
DATA : W_DATA LIKE LINE OF IT_DATA.
DATA : W_CHAR LIKE LINE OF IT_CHAR.
DATA: T_EXCELFILE TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS : <L_FS> .
DATA : W_INTERN LIKE LINE OF INTERN,
W_INTERN1 LIKE LINE OF IT_INTERN,
W_DATA_TAB LIKE LINE OF DATA_TAB.
DATA: TIND(4) TYPE N.
DATA: ZWFELD(19),ZWFELD1(19).
FIELD-SYMBOLS: <FS1>,<FS2>.
DATA : G_MODE(1),G_UPDATE(1).
DATA : G_FLG(1).
DATA : TOT_REC(6) TYPE N,
DUP_REC(6) TYPE N,
UPL_REC(6) TYPE N.
DATA: WA_DATA LIKE LINE OF IT_DATA,
WA_DATA1 LIKE WA_DATA.
DATA:WA_HEADER LIKE BAPI_INCINV_CREATE_HEADER,
WA_INVOICEDOCNUMBER TYPE BAPI_INCINV_FLD-INV_DOC_NO,
IT_ITEM LIKE BAPI_INCINV_CREATE_ITEM OCCURS 0 WITH HEADER LINE,
IT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA:BEGIN OF IT_MBLNR OCCURS 0,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
END OF IT_MBLNR.
*& Selection screen
SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BLK.
*& AT SELECTION-SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM GET_FILE.
*& Start of selection
START-OF-SELECTION.
PERFORM GET_BDC_DATA.
PERFORM PROCESS_BDC_DATA.
PERFORM BDC_UPLOAD.
PERFORM display_log.
*& Form GET_FILE
FORM GET_FILE .
*F4-HELP FILE
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
ENDFORM. " GET_FILE
FORM GET_BDC_DATA .
DATA : WRK_FLG(1).
DATA : GIDX LIKE SY-TABIX.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = '1'
I_BEGIN_ROW = '1'
I_END_COL = '250'
I_END_ROW = '50000'
TABLES
INTERN = INTERN
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE:/ 'Upload Error ', SY-SUBRC.
ELSE.
SORT INTERN BY ROW COL.
LOOP AT INTERN.
TIND = INTERN-COL.
CONCATENATE 'DATA_TAB-VALUE_' TIND INTO ZWFELD.
ASSIGN (ZWFELD) TO <FS1>.
<FS1> = INTERN-VALUE.
AT END OF ROW.
APPEND DATA_TAB.
CLEAR:IT_CHAR,DATA_TAB.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. " GET_BDC_DATA
*& Form PROCESS_BDC_DATA
FORM PROCESS_BDC_DATA .
DATA : WRK_IND(6) TYPE N.
DATA : WRK_ROW TYPE I,
GIDX LIKE SY-TABIX.
IF NOT DATA_TAB[] IS INITIAL.
LOOP AT DATA_TAB INTO W_DATA_TAB.
WRK_ROW = SY-TABIX.
IT_DATA-DOC_TYPE = W_DATA_TAB-VALUE_0001.
IT_DATA-DOC_DATE = W_DATA_TAB-VALUE_0002.
IT_DATA-PSTNG_DATE = W_DATA_TAB-VALUE_0003.
it_data-ref_doc_no = w_data_tab-value_0004.
IT_DATA-GROSS_AMOUNT = W_DATA_TAB-VALUE_0004.
IT_DATA-BLINE_DATE = W_DATA_TAB-VALUE_0005.
IT_DATA-HEADER_TXT = W_DATA_TAB-VALUE_0006.
IT_DATA-INVOICE_DOC_ITEM = W_DATA_TAB-VALUE_0007.
IT_DATA-PO_NUMBER = W_DATA_TAB-VALUE_0008.
IT_DATA-PO_ITEM = W_DATA_TAB-VALUE_0009.
IT_DATA-TAX_CODE = W_DATA_TAB-VALUE_0010.
IT_DATA-ITEM_AMOUNT = W_DATA_TAB-VALUE_0011.
IT_DATA-SHEET_NO = W_DATA_TAB-VALUE_0012.
IT_DATA-ITEM_TEXT = W_DATA_TAB-VALUE_0013.
IT_DATA-SHEET_ITEM = W_DATA_TAB-VALUE_0014.
APPEND IT_DATA.
ENDLOOP.
ENDIF.
ENDFORM.
FORM BDC_UPLOAD.
DATA:LW_DATE(10).
DELETE ADJACENT DUPLICATES FROM it_data.
LOOP AT IT_DATA INTO WA_DATA1.
WA_DATA = WA_DATA1.
While program finds the header record, post the previous entries
if WA_data-DOC_TYPE NE ' '
AND wa_data-doc_date NE ' '
AND wa_data-pstng_date NE ' '
AND WA_data-REF_DOC_NO NE ' '
AND WA_data-BLINE_DATE NE ' '
AND WA_data-HEADER_TXT NE ' ' .
WA_HEADER-INVOICE_IND = 'X'.
WA_HEADER-COMP_CODE = 'TSKY'.
WA_HEADER-CURRENCY = 'INR'.
WA_HEADER-CALC_TAX_IND = 'X'.
IF sy-tabix NE 1.
update
PERFORM f0301_exe_bapi TABLES it_item USING wa_header.
REFRESH it_item.
CLEAR: it_item, wa_header.
ENDIF.
*CONCATENATE WA_DATA-PSTNG_DATE+4(4)
WA_DATA-PSTNG_DATE+2(2)
WA_DATA-PSTNG_DATE+0(2) INTO LW_DATE.
WA_HEADER-DOC_DATE = LW_DATE.
WA_HEADER-PSTNG_DATE = LW_DATE.
wa_header-doc_type = wa_data-doc_type.
wa_header-doc_date = WA_DATA-DOC_DATE.
wa_header-pstng_date = WA_DATA-PSTNG_DATE.
WA_HEADER-REF_DOC_NO = WA_DATA-REF_DOC_NO.
WA_HEADER-BLINE_DATE = WA_DATA-BLINE_DATE.
WA_HEADER-HEADER_TXT = WA_DATA-HEADER_TXT.
ENDIF.
IT_item-INVOICE_DOC_ITEM = WA_DATA-INVOICE_DOC_ITEM.
IT_item-PO_NUMBER = WA_DATA-PO_NUMBER.
IT_item-PO_ITEM = WA_DATA-PO_ITEM.
IT_item-TAX_CODE = WA_DATA-TAX_CODE.
IT_item-ITEM_AMOUNT = WA_DATA-ITEM_AMOUNT.
IT_item-SHEET_NO = WA_DATA-SHEET_NO.
IT_item-ITEM_TEXT = WA_DATA-ITEM_TEXT.
IT_item-SHEET_ITEM = WA_DATA-SHEET_ITEM.
APPEND it_item.
CLEAR it_item.
ENDLOOP.
PERFORM f0301_exe_bapi TABLES it_item USING wa_header.
ENDFORM. " f0200_UPDATE
FORM f0301_exe_bapi TABLES p_it_item STRUCTURE it_item
USING p_wa_header.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_PARK'
EXPORTING
headerdata = wa_header
ADDRESSDATA =
IMPORTING
INVOICEDOCNUMBER = WA_INVOICEDOCNUMBER
FISCALYEAR = lc_gjahr
tables
itemdata = it_item
ACCOUNTINGDATA =
GLACCOUNTDATA =
MATERIALDATA =
TAXDATA =
WITHTAXDATA =
VENDORITEMSPLITDATA =
return = it_return.
READ TABLE it_return INDEX 1.
READ TABLE it_item INDEX 1.
IF it_return-type EQ 'E'.
MOVE it_item-po_number TO it_msg-po_number.
move it_item-po_item to it_msg-po_itm.
MOVE 'Discrepancy in PO' TO it_msg-message.
MOVE it_return-message to it_msg-message1.
APPEND it_msg.
CLEAR it_msg.
clear it_return.
ELSE.
MOVE it_item-po_number TO it_msg-po_number.
move it_item-po_item to it_msg-po_item.
MOVE 'Successfully parked' TO it_msg-message.
MOVE WA_INVOICEDOCNUMBER TO it_msg-mblnr.
APPEND it_msg.
CLEAR: it_msg, WA_INVOICEDOCNUMBER.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
ENDFORM. "f0301_exe_bapi
FORM display_log .
Display the log
WRITE : '10 Po_number', 25 'Message', 55 'Error message' ,135 'ParkedDocumentNumber'.
ULINE.
LOOP AT it_msg.
WRITE : /10 it_msg-po_number,
25 it_msg-message,
55 it_msg-message1,
135 it_msg-mblnr.
ULINE.
ENDLOOP.
ENDFORM. " display_loghi,
my prblm is in this program i used bapi function module for upload excel data.
bapi_incominginvoice_park.
in my output park number showing increasing for each item.
so i need parknumber it should be same for all items.
i am sending my code pls check this.
*& Report ZBAPI_MIRO
&& Developed By : ESWAR
*& Created Date : 29.10.2007
*& Requested By : GANESH(MM)
*& SAP Area : MM
*& Output : Excel format,Using BDC for Tcode MIRO
REPORT ZBAPI_MIRO.
DATA: BEGIN OF INTERN OCCURS 0.
INCLUDE STRUCTURE ALSMEX_TABLINE.
DATA: END OF INTERN.
DATA : IT_INTERN LIKE INTERN OCCURS 0 WITH HEADER LINE.
No of columns
DATA: BEGIN OF DATA_TAB OCCURS 0,
VALUE_0001(10), "DOC.TYPE
VALUE_0002(10), "DOC DATE
VALUE_0003(10), " PSTNG.DATE
VALUE_0003(10), " GROSS_AMNT
VALUE_0004(10), " REF_DOC_NO
VALUE_0005(10), "BLINE_DATE
VALUE_0006(10), "HEADER_TXT
VALUE_0007(10), "INVOICE_DOC_ITEM
VALUE_0008(10), "PO_NUMBER
VALUE_0009(10), " PO_ITEM
VALUE_0010(10), "TAX_CODE
VALUE_0011(11), "ITEM_AMOUNT
VALUE_0012(10), "SHEET_NO
VALUE_0013(10), "ITEM_TEXT
VALUE_0014(10), "SHEET_ITEM
END OF DATA_TAB.
DATA : BEGIN OF IT_DATA OCCURS 0,
invoice_ind like BAPI_INCINV_CREATE_HEADER-invoice_ind,
doc_type like BAPI_INCINV_CREATE_HEADER-doc_type,
doc_date like BAPI_INCINV_CREATE_HEADER-doc_date,
pstng_date like BAPI_INCINV_CREATE_HEADER-pstng_date,
comp_code like BAPI_INCINV_CREATE_HEADER-comp_code,
currency like BAPI_INCINV_CREATE_HEADER-currency,
gross_amount like BAPI_INCINV_CREATE_HEADER-gross_amount,
calc_tax_ind like BAPI_INCINV_CREATE_HEADER-calc_tax_ind,
REF_DOC_NO LIKE BAPI_INCINV_CREATE_HEADER-REF_DOC_NO,
bline_date like BAPI_INCINV_CREATE_HEADER-bline_date,
header_txt like BAPI_INCINV_CREATE_HEADER-header_txt,
invoice_doc_item like BAPI_INCINV_CREATE_ITEM-invoice_doc_item,
po_number like BAPI_INCINV_CREATE_ITEM-po_number,
po_item like BAPI_INCINV_CREATE_ITEM-po_item,
tax_code like BAPI_INCINV_CREATE_ITEM-tax_code,
item_amount like BAPI_INCINV_CREATE_ITEM-ITEM_AMOUNT,
sheet_no like BAPI_INCINV_CREATE_ITEM-sheet_no,
item_text like BAPI_INCINV_CREATE_ITEM-item_text,
sheet_item like BAPI_INCINV_CREATE_ITEM-sheet_item,
END OF IT_DATA.
DATA : BEGIN OF IT_CHAR OCCURS 0,
IND(6) TYPE N, ""Index for comparison
CHARN LIKE RCTMS-MNAME, "CHAR NAME
CHARV LIKE RCTMS-MWERT, "CHAR VALUE
END OF IT_CHAR.
DATA: BEGIN OF it_msg OCCURS 0,
po_number LIKE BAPI_INCINV_CREATE_ITEM-po_number,
po_item like BAPI_INCINV_CREATE_ITEM-po_item,
message(20),
message1(90),
mblnr TYPE mkpf-mblnr,
END OF it_msg.
DATA : W_DATA LIKE LINE OF IT_DATA.
DATA : W_CHAR LIKE LINE OF IT_CHAR.
DATA: T_EXCELFILE TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS : <L_FS> .
DATA : W_INTERN LIKE LINE OF INTERN,
W_INTERN1 LIKE LINE OF IT_INTERN,
W_DATA_TAB LIKE LINE OF DATA_TAB.
DATA: TIND(4) TYPE N.
DATA: ZWFELD(19),ZWFELD1(19).
FIELD-SYMBOLS: <FS1>,<FS2>.
DATA : G_MODE(1),G_UPDATE(1).
DATA : G_FLG(1).
DATA : TOT_REC(6) TYPE N,
DUP_REC(6) TYPE N,
UPL_REC(6) TYPE N.
DATA: WA_DATA LIKE LINE OF IT_DATA,
WA_DATA1 LIKE WA_DATA.
DATA:WA_HEADER LIKE BAPI_INCINV_CREATE_HEADER,
WA_INVOICEDOCNUMBER TYPE BAPI_INCINV_FLD-INV_DOC_NO,
IT_ITEM LIKE BAPI_INCINV_CREATE_ITEM OCCURS 0 WITH HEADER LINE,
IT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA:BEGIN OF IT_MBLNR OCCURS 0,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
END OF IT_MBLNR.
*& Selection screen
SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BLK.
*& AT SELECTION-SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM GET_FILE.
*& Start of selection
START-OF-SELECTION.
PERFORM GET_BDC_DATA.
PERFORM PROCESS_BDC_DATA.
PERFORM BDC_UPLOAD.
PERFORM display_log.
*& Form GET_FILE
FORM GET_FILE .
*F4-HELP FILE
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
ENDFORM. " GET_FILE
FORM GET_BDC_DATA .
DATA : WRK_FLG(1).
DATA : GIDX LIKE SY-TABIX.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = '1'
I_BEGIN_ROW = '1'
I_END_COL = '250'
I_END_ROW = '50000'
TABLES
INTERN = INTERN
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE:/ 'Upload Error ', SY-SUBRC.
ELSE.
SORT INTERN BY ROW COL.
LOOP AT INTERN.
TIND = INTERN-COL.
CONCATENATE 'DATA_TAB-VALUE_' TIND INTO ZWFELD.
ASSIGN (ZWFELD) TO <FS1>.
<FS1> = INTERN-VALUE.
AT END OF ROW.
APPEND DATA_TAB.
CLEAR:IT_CHAR,DATA_TAB.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. " GET_BDC_DATA
*& Form PROCESS_BDC_DATA
FORM PROCESS_BDC_DATA .
DATA : WRK_IND(6) TYPE N.
DATA : WRK_ROW TYPE I,
GIDX LIKE SY-TABIX.
IF NOT DATA_TAB[] IS INITIAL.
LOOP AT DATA_TAB INTO W_DATA_TAB.
WRK_ROW = SY-TABIX.
IT_DATA-DOC_TYPE = W_DATA_TAB-VALUE_0001.
IT_DATA-DOC_DATE = W_DATA_TAB-VALUE_0002.
IT_DATA-PSTNG_DATE = W_DATA_TAB-VALUE_0003.
it_data-ref_doc_no = w_data_tab-value_0004.
IT_DATA-GROSS_AMOUNT = W_DATA_TAB-VALUE_0004.
IT_DATA-BLINE_DATE = W_DATA_TAB-VALUE_0005.
IT_DATA-HEADER_TXT = W_DATA_TAB-VALUE_0006.
IT_DATA-INVOICE_DOC_ITEM = W_DATA_TAB-VALUE_0007.
IT_DATA-PO_NUMBER = W_DATA_TAB-VALUE_0008.
IT_DATA-PO_ITEM = W_DATA_TAB-VALUE_0009.
IT_DATA-TAX_CODE = W_DATA_TAB-VALUE_0010.
IT_DATA-ITEM_AMOUNT = W_DATA_TAB-VALUE_0011.
IT_DATA-SHEET_NO = W_DATA_TAB-VALUE_0012.
IT_DATA-ITEM_TEXT = W_DATA_TAB-VALUE_0013.
IT_DATA-SHEET_ITEM = W_DATA_TAB-VALUE_0014.
APPEND IT_DATA.
ENDLOOP.
ENDIF.
ENDFORM.
FORM BDC_UPLOAD.
DATA:LW_DATE(10).
DELETE ADJACENT DUPLICATES FROM it_data.
LOOP AT IT_DATA INTO WA_DATA1.
WA_DATA = WA_DATA1.
While program finds the header record, post the previous entries
if WA_data-DOC_TYPE NE ' '
AND wa_data-doc_date NE ' '
AND wa_data-pstng_date NE ' '
AND WA_data-REF_DOC_NO NE ' '
AND WA_data-BLINE_DATE NE ' '
AND WA_data-HEADER_TXT NE ' ' .
WA_HEADER-INVOICE_IND = 'X'.
WA_HEADER-COMP_CODE = 'TSKY'.
WA_HEADER-CURRENCY = 'INR'.
WA_HEADER-CALC_TAX_IND = 'X'.
IF sy-tabix NE 1.
update
PERFORM f0301_exe_bapi TABLES it_item USING wa_header.
REFRESH it_item.
CLEAR: it_item, wa_header.
ENDIF.
*CONCATENATE WA_DATA-PSTNG_DATE+4(4)
WA_DATA-PSTNG_DATE+2(2)
WA_DATA-PSTNG_DATE+0(2) INTO LW_DATE.
WA_HEADER-DOC_DATE = LW_DATE.
WA_HEADER-PSTNG_DATE = LW_DATE.
wa_header-doc_type = wa_data-doc_type.
wa_header-doc_date = WA_DATA-DOC_DATE.
wa_header-pstng_date = WA_DATA-PSTNG_DATE.
WA_HEADER-REF_DOC_NO = WA_DATA-REF_DOC_NO.
WA_HEADER-BLINE_DATE = WA_DATA-BLINE_DATE.
WA_HEADER-HEADER_TXT = WA_DATA-HEADER_TXT.
ENDIF.
IT_item-INVOICE_DOC_ITEM = WA_DATA-INVOICE_DOC_ITEM.
IT_item-PO_NUMBER = WA_DATA-PO_NUMBER.
IT_item-PO_ITEM = WA_DATA-PO_ITEM.
IT_item-TAX_CODE = WA_DATA-TAX_CODE.
IT_item-ITEM_AMOUNT = WA_DATA-ITEM_AMOUNT.
IT_item-SHEET_NO = WA_DATA-SHEET_NO.
IT_item-ITEM_TEXT = WA_DATA-ITEM_TEXT.
IT_item-SHEET_ITEM = WA_DATA-SHEET_ITEM.
APPEND it_item.
CLEAR it_item.
ENDLOOP.
PERFORM f0301_exe_bapi TABLES it_item USING wa_header.
ENDFORM. " f0200_UPDATE
FORM f0301_exe_bapi TABLES p_it_item STRUCTURE it_item
USING p_wa_header.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_PARK'
EXPORTING
headerdata = wa_header
ADDRESSDATA =
IMPORTING
INVOICEDOCNUMBER = WA_INVOICEDOCNUMBER
FISCALYEAR = lc_gjahr
tables
itemdata = it_item
ACCOUNTINGDATA =
GLACCOUNTDATA =
MATERIALDATA =
TAXDATA =
WITHTAXDATA =
VENDORITEMSPLITDATA =
return = it_return.
READ TABLE it_return INDEX 1.
READ TABLE it_item INDEX 1.
IF it_return-type EQ 'E'.
MOVE it_item-po_number TO it_msg-po_number.
move it_item-po_item to it_msg-po_itm.
MOVE 'Discrepancy in PO' TO it_msg-message.
MOVE it_return-message to it_msg-message1.
APPEND it_msg.
CLEAR it_msg.
clear it_return.
ELSE.
MOVE it_item-po_number TO it_msg-po_number.
move it_item-po_item to it_msg-po_item.
MOVE 'Successfully parked' TO it_msg-message.
MOVE WA_INVOICEDOCNUMBER TO it_msg-mblnr.
APPEND it_msg.
CLEAR: it_msg, WA_INVOICEDOCNUMBER.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ENDIF.
ENDFORM. "f0301_exe_bapi
FORM display_log .
Display the log
WRITE : '10 Po_number', 25 'Message', 55 'Error message' ,135 'ParkedDocumentNumber'.
ULINE.
LOOP AT it_msg.
WRITE : /10 it_msg-po_number,
25 it_msg-message,
55 it_msg-message1,
135 it_msg-mblnr.
ULINE.
ENDLOOP.
ENDFORM. " display_log -
Transport control program tp ended with error code 0212 | URGENT
Hi All,
We are trying to import requests in our PRD system. As soon as we select the request and try to import it , we get the error "Transport control program tp ended with error code 0212".
This is tp version 305.12.42 (release 46D) for ANY database
/usr/sap/trans/cofiles/K915883.<SID> for transport: <SID>K915883: Permissio
HALT 20070222114323
ERROR: /usr/sap/trans/cofiles/K915883.<SID> : cant open
: Permission denied
ERROR: EXIT(16) -> process ID is: 6878
tp returncode summary:
TOOLS: Highest return code of single steps was: 16
ERRORS: Highest tp internal error was: 0212
Output from tools called by tp:
This is R3trans version 6.05 (release 46D - 18.10.01 - 11:30:00).
R3trans finished (0000).
When i checked the transport tool and rfc destinations, everything was successful.
When i tried to do tp connect -
23> tp connect <SID> pf=/usr/sap/tran/bin/TP_DOMAIN_<SID>.PFL
This is tp version 305.12.42 (release 46D) for ANY database
E-/usr/sap/tran/bin/TP_DOMAIN_<SID>.PFL could not be opened.
EXIT
tp returncode summary:
TOOLS: Highest return code of single steps was: 0
ERRORS: Highest tp internal error was: 0212
tp finished with return code: 212
meaning:
could not access file as supposed (see SLOG for more details)
We are having SAP 4.6C with DB -Oracle and OS HP-UX.
Please let me know whow to rectifiy the issue. The situation here is getting worse.
Regards,
NKHi Ruchit, Sorry for the delay. Here is the file you wanted -
steic25q:root>ls
DOMAIN.CFG TPPARAM.bak TP_DOMAIN_ID1.PFL TP_DOMAIN_IQ1.PFL
TMS_TEST.IS1 TPPRAMA0918 TP_DOMAIN_ID1.orig nik.dev_evt
TPPARAM TP_DOMAIN_ID1.BAK TP_DOMAIN_IP1.BAK
steic25q:root>more TP_DOMAIN_ID1.PFL
#TMS:0078:DOMAIN_ID1
Caution !
This file was generated by the Transport Management System.
Do not change this file using a text editor.
For more information, refer to the online documentation of the
Transaction STMS.
If this file was destroyed, it can be regenerated in the TMS.
To do this, log on to the domain controller (system ID1) and call
transaction STMS. In the System Overview, you can distribute the TMS
configuration. This regenerates the file.
STMS -> Overview -> Systems -> Extras -> Distribute TMS configugration
TRANSDIR = /usr/sap/trans
DU1/CTC = 1
DU1/DUMMY = 1
DU1/NBUFFORM = 1
DU1/TP_VERSION = 266
DU2/CTC = 1
DU2/DUMMY = 1
DU2/NBUFFORM = 1
DU2/TP_VERSION = 266
ID1/CTC = 0
ID1/DBHOST = steic24q
ID1/DBLIBPATH = /usr/sap/ID1/SYS/exe/run
ID1/DBNAME = ID1
ID1/DBSWPATH = /oracle/ID1/817_64
ID1/DBTYPE = ora
ID1/NBUFFORM = 1
ID1/TP_VERSION = 266
IP1/CTC = 0
IP1/DBHOST = steic25q
IP1/DBLIBPATH = /usr/sap/IP1/SYS/exe/run
IP1/DBNAME = IP1
IP1/DBSWPATH = /oracle/IP1/817_64
IP1/DBTYPE = ora
IP1/NBUFFORM = 1
IP1/TP_VERSION = 266
IQ1/CTC = 1
IQ1/DBHOST = cbnysap2
IQ1/DBLIBPATH = /usr/sap/IQ1/SYS/exe/run
IQ1/DBNAME = IQ1
IQ1/DBSWPATH = /oracle/IP1/817_64
IQ1/DBTYPE = ora
IQ1/NBUFFORM = 1
IQ1/TP_VERSION = 266
TRN/CTC = 1
TRN/DUMMY = 1
TRN/NBUFFORM = 1
TRN/TP_VERSION = 266
steic25q:root> -
Dear all, using -
> SAP ECC 6.0 with IS - AFS 6.0
Environment -- Win2k3 with Orc 10.2
Kernel 700 - 75
Spam/Saint - 70026
R3trans -d <0000>
STMS is very consistent.
Met all the pre-requisites when applying Support packs & going succesfull
but
While applying
Sapk-60004inafs CRT with sapkh 60009,10,11 in
Test_import phase it is showing the following error for
sapkh 60010.
Test import
Transport request : SAPKH60010
System : MBD
tp path : tp
Version and release: 370.00.09 700
R3TRPROGJ_1IRUTZN was repaired in this system
R3TRPROGJ_1IRUTZN was repaired in this system
Test import
End date and time : 20080410100230
Ended with return code: ===> 8 <===
When im runing with 700-75 is it possoble to import latest TP
<SAR tp_145-20001354.sar TP 145 Info 3317 30.01.2008 >
in to existing kernel. plaese coment on this as i think it's a TP error.
please also advice me in different areas.
Cheers,
RahulHI thanx a lot ,
It the same procedure i did & checked your message indicating the same steps .
Yes ,standard object is repaired in system & im not aware of that
& even it is not shown that it is recorded to work bench change request when i started applying the support pack.
I did the same went to SE03 selected the object .
Selected lock overview
Identified the change request & released it.
I got one more doubt what happens when i set the object to repair flag.
Cheers ,
Rahul
Maybe you are looking for
-
1st generation ipod nano's shuffle feature stoped working
my 1st generation ipod nano has a shuffle feature, but now it doesnt work. when i turn on the shuffle feature and try to play all songs it only plays the one song you select to be the first song in the shuffle order. when i pick a list of songs it on
-
Problem with podcasts and iTunes 6.0.1.3
Hi everybody! First of all, please excuse my poor English: I'm French. I'll try to do my best to write as well as I can. I have some difficulties with podcasts and iTunes 6.0.1.3. When I "sign up" (FR: "s'abonner") to some podcasts, they are not upda
-
HT3529 Is there any way to sync iMessages from an iPhone into the Messages on a Mac Book Pro?
Basically, for me to upgrade to an iPhone 5s, I'll have to trade in my iPhone 4s. The thing is, I'm pretty sentimental when it comes to certain text messages and I would really like to be able to save them all somewhere, somehow. Everything else is b
-
Schedule Agreement Mass Maintenance (ECC 5.0)
In ECC 5.0 the TA MEMASSSA for mass maintenance of schedule agreement don't exist and about the TA MEMASSPO "SAP responded to my OSS message stating that the exclusion of schedule agreements from mass maintenance was deliberate." Whereas now in the n
-
Resolve enter current password in my mh mini 110
pls help me to resolve my problem in my netbook.with product : hp mini 110/with s/n:cnu9245q94the problem of this is to enter current password