MM WM Stock Conversion question
We have MM stock which is non-valuated, quantity-managed stock. MM stock is managed in a fictional plant 2000 co-mingled with the primary plant 1000. One WM warehouse WH1 manages both plants 1000 and 2000.
Objective: Load the MM stocks into 1000, now as valuated stock.
Considered MM movement 309 but the account determination is a problem. Stocks are moving average. If we have 10 units in plant 1000 at $1 each, we want the transferred units to be received at $1 per unit.
Our concept (now) is to use movement type 961 (similar to 561, with customized account determination). Data to be loaded using LSMW and flat file of current stock balances.
Would like advice on the WM stocks conversion. The WM stocks (quants) do not move, but the new plant code is required on the quants. Would like to simply have LSMW recording of LT01 to create transfer orders with the new plant code, but WM stock data remains the same.
Should the WM conversion be handled like a stock transfer, posting change, WM supervisor transaction, or other?
Thanks,
Mike
In my opinion you should consider the following scenario:
1) Plant 2000: remove the stock (e.g. mvt 562 etc)
2) Plant 1000: upload the stock in WM bins directly via IM mvt w/o WM transfer order (e.g. via mvt 561 - in the IM mvt you can enable the storage type and store bin fields for input) --> prerequisite is that you download the stock report before step 1 and use that data for the upload
So, I would not use WM transfer orders in the upload step. (you use LSMW, your own upload program)
That's all.
Similar Messages
-
UPGRADE 1103 to 1159 - PAYMENTS CONVERSION QUESTION!
Hello,
UPGRADE 1103 to 1159 - PAYMENTS CONVERSION QUESTION!
This is the scenario, we are planning to do. Currently we have 11.0.3 in one box. We are planning for re-implementation for 11.5.9 in the new box. So we
have to convert approx 14 months of open and closed data for the historic purposes. (Like PO's, Invoices, Payments and ledger data etc.)
Again, these conversions cannot be handled through the front end using some Data Loader kind of tool etc...
Data Loader tool, I used a lot for loading Flexfield Value Set Values, Category Codes etc...
But my question is converting these AP_PAYMENTS related data in the back end. (Like Check num, Payment Batch ID, Invoice Number, Invoice ID, Supplier Number,
Supplier ID, etc.) from old 11.0.3 box to new 11i box.
Since there was some confusion is going on with Payments related areas, because there was now API's etc... some of them are telling it is very difficult to migrate "AS IS" into 11i. I also heard that oracle won't support this.
Just want to clarify clearly on this issues.
Because we are moving from the small box of 11.0.3 into Big box for 11.5.9. So we don't want to loose all the histories for about 20 months. especially open
Closed / Open - Invoices, Payments, PO's, REQ's, Active Items which are in the Open Blanket PO's, Employees, etc...
Of all these everything sounds like doable because they do have API's etc... Of course, I belive there is no API for the Vendors only. We want to know is this true for the Payments also.
Any urgent clarifications is very much appreciated with clear explanation.
Thanks in advance
Mani VaradanThe payment conversion is little bit tricky in term on its understanding and functionality.
There are lot of dependices of payments conversion on the others objects like invoice.
You need to be very clear in requirements.
Here is the extracted documents for giving you clear understanding about payments.
Overview of Process
Prior to creating a payment batch, four setup are required.
A.Define a bank for bank branches with which you do business.
B.Define bank accounts.
C.Choose a predefined or custom payment format.
D.Finally, define payment documents for disbursements for each bank account.
To give an overview of the steps required to create payment batch payments:
1) Initiate the payment batch by entering the criteria for invoices you want to pay. The payment batch process selects invoices, and then builds the payments. It determines which invoices will be paid on each payment document, and lists this information for you on the Preliminary Payment Register.
2) Make any necessary modifications to your payment batch, such as selecting additional invoices, deselecting invoices, deselecting suppliers, etc. Once modifications are complete, the modify payment batch process automatically builds the payments if any invoices were added.
3) Format payments to produce an output file.
4) Print checks from the output file if you are not creating electronic payments or sending the output file to a third party for printing.
5) Confirm the payment batch by recording the document numbers associated with each payment. During this step, the invoice status is updated to Paid and a document number is associated with the invoice and invoice payment.
As conversion(from 11.0.3 to 11.5.9) is concern step 3,4 is excluded from the standard processes.
These are the tables involved during the payment conversion.
AP_SELECTED_INVOICES_ALL
AP_INV_SELECTION_CRITERIA_ALL
AP_INVOICES_ALL
AP_PAYMENT_SCHEDULES_ALL
These are background (concurrent) processes involved in batch process consists of the following
a. Autoselect
b. Build Payments
c. Preliminary Payment Register
d. Format
e. Confirm
f. Final Payment Register.
10.7:
If you are using the application in character mode, navigate to the Reset Payment Batch form. The navigation path is
\Navigate --> Controls --> Payment --> ResetPaymentBatch.
Select the payment batch name and the system displays the status of the batch. Your options for proceeding vary according to the batch status.
11.5.8/9
You can perform actions on your batch in Payment Batches form by clicking on the Actions button. The appropriate actions are highlighted depending on the status of the batch.
THIS SECTION TALK ABOUT THE DETAIL TECHNICAL OVERVIEW
Payment Conversion Technical Overview
For the conversion is concern we are following four-step process
I.Defined and prerequisite steps as discussed above
II.Selecting the Invoice
III.Building the Payment
IV.Confirm
THESE ARE THE PREREQUISITE SETUP
We are assuming the bank set is already done from 10.7 to 11i.Bank set up means bank account id, and its corresponding payment format.
For this purpose we are using mapping function for bank account id and on that basis we are getting corresponding checks stock id.This means defining a payment documents for disbursements
SELECT INVOICES
When a payment batch is started one row for each record is created in the
AP_INV_SELECTION_CRITERIA_ALL table.
This table stores the criteria that a payment batch uses to select invoices for payments. The module name for the Auto Select process is APXPBSEL. The Select Invoices, or AutoSelect, is the first step in the payment batch process.
When we run a concurrent program the AutoSelect process starts by loading records that meet the invoice selection criteria into the table AP_SELECTED_INVOICES_ALL from the tables AP_INVOICES_ALL and AP_PAYMENT_SCHEDULES_ALL.
The criteria that AutoSelect uses to determine which record to select from AP_INVOICES_ALL and AP_PAYMENT_SCHEDULES_ALL is stored in AP_INV_SELECTION_CRITERIA_ALL.
To be sure that no duplicate invoices get selected, invoices that are already selected in another payment batch are not selected. Invoice payments that have no remaining payment amounts are not selected either.
BUILD PAYMENTS
The module name for the Build Program is APXPBBLD. From the list created by AutoSelect, the Build program determines which invoices will be paid on each
Payment document, and lists this information on the Preliminary Payment Register if Selected. The Build program is spawned when AutoSelect has completed. When the Build Program starts, the application uses information from the table AP_SELECTED_INVOICES_ALL to create rows in the table AP_SELECTED_INVOICE_CHECKS_ALL.
In addition to creating rows in the AP_SELECTED_INVOICE_CHECKS_ALL, the build payments program also performs the following tasks:
Assigns document numbers for payments
Assigns Check Ids
Renumbers the remaining documents starting from the first_available_document
Updates the payment batch status to BUILT
Since we are doing conversion from 10.7 to 11i where all payments need to converted hence we are keeping payment batch status as FORMATTED
CONFIRM
This is the final step for the payment batch process, where we will pick a payment batch from front end, and then making confirm. The menu for this
AP Payable =>Payment Batches form =>by clicking on the Actions button
Internally the confirm program first updates the AP_SELECTED_INVOICE_CHECKS_ALL records,
then transfers those records to
AP_CHECKS_ALL.
In addition, the AP_SELECTED_INVOICES_ALL
records are transferred into the corresponding
AP_INVOICE_PAYMENTS_ALL,
AP_INVOICES_ALL and
AP_PAYMENT_SCHEDULES_ALL.
Table Involved in Payment Batch Process
These are the various table involved in the payment process of 10.7 and 11i.It is recommended that if corresponding earlier conversion is done then use the mapping function to get the new value.
oAP_SELECTED_INVOICES_ALL
oAP_INV_SELECTION_CRITERIA_ALL
oAP_INVOICES_ALL
oAP_PAYMENT_SCHEDULES_ALL
oAP_SELECTED_INVOICE_CHECKS_ALL
oAP_CHECKS_ALL
oAP_INVOICE_PAYMENTS_ALL
oAP_PAYMENT_SCHEDULES_ALL
oAP_INVOICES_ALL
oAP_BANK_ACCOUNTS_ALL `
Common Issue:
1.Determine the status of the Payment Batch?
A: Query up the Payment Batch in the Payment Batches Summary window to view the status. If you can not get into the application, you can select the status from SQL*Plus:
SELECT status FROM ap_inv_selection_criteria_all
WHERE checkrun_name = ?<payment batch name>?;
2. Dont change the last update date
We are doing the conversion for payments, hence we cant change he last_updated_date to sysdate as this will create a problem by concurrent program, in that case we need to populate the field for FUTURE_DATED_PAYMENT=N
3. dont populate the value for INVOICE_PAYMENT_TYPE
If there are some prepayments in the conversion process donor populate this field and pass NULL, otherwise this will create a duplicate invoice, which will cause a problem for concurrent batch for payment.
Hope now you will be very clear about the process.
let me me offline, if you need further.
regards
sanjit
[email protected] -
Rendering Lo-Res files for inspection by stock agency questions.
*Using FCE 4.* My stock photo agency is requesting videos now. I'm using a Canon 5D Mark II.
What I want to do is to render low-resolution clips for the agency inspection. They will choose from the LR clips and I will then supply HR files for submission.
I have been trying to render the lowest possible resolution files for submission and the files are ending up mostly rendered without audio. I'm sure it's something simple I'm missing but I can't seem to drink enough coffee to absorb what I'm missing from the digital manual or Tom Wolsky's book.
That would be two questions: what settings will give me the lowest possible file size for agency inspection and how do I make sure the audio is included in the rendered LR files?
I appreciate any help on this and I hope to bring my skill level up quickly over the next couple of months. Now I know how Photoshop beginners feel. I grew up with PS but video is a whole new world for me.
FredBonjour (Hi)!
(I assume that the audio is enabled in your sequence)
So your sequence is an HD one.
_FOR DATA DV or HARD DRIVE ARCHIVE_, same process (altough you can keep the original 1920X1080 for hard drive way):
The simplest way is to export the sequence with the correct aspect ratio (16:9) to a smaller frame size.
1920X1080 gives a such ratio as 640X360.
To reduce your frame size to 640X320, no other choice than using "export->using quicktime conversion" in file menu.
In the Save window dialog, choose "Quicktime movie" in the local format menu. Click on Options to get access to desired settings like frame size, codec, etc.
In *Movie settings window* :
For video: click settings to open the *Standard video compression setting window* and choose the codec (here MPEG 4) in Compression local menu (there is a selector for compressor quality, maximum data rate.
Click OK to confirm the codec choice for video in *Standard video compression setting window*.
In *Movie settings window* select Size to get access to *Export size settings* window. There are some presets included but you can enter custom values here. Set frame dimension as you need, but keep in mind to choose numbers that have a 16:9 ratio like 640X320 or other one.
Desinterlace is a good option if your work with interlaced source material.
Click OK to confirm the frame size for video in *Export size settings* window.
For audio: click settings to get access to *Sound settings* window and choose the audio codec etc, Linear PCM at 48 kHz stereo give your the best audio from FCE. As you distribute on DATA DVD or hard drive, audio size is not an issue here.
Confirm the codec choice with OK key in *Sound settings* window.
Confirm the video and audio setting by clicking OK in the *Movie settings* window.
In the Save window, name the exported movie, select a destination to save and click Save.
The resulting file will a compressed one with all option selected. This movie is suitable for DATA DVD burning or Hard drive usage.
TIP: There is some compression presets included in the Save window at format local menu. iPhone or Apple TV are efficient ones.
Look at those links about video compression:
http://www.kenstone.net/fcphomepage/qt_h-264_moviesfcp.html
http://www.kenstone.net/fcphomepage/qt_movies_fromfcp.html
http://www.kenstone.net/fcphomepage/video_to_ipodstone.html
To produce a _STANDARD DEFINITION WIDESCREEN DVD_:
Simply use the export-->quicktime movie in file menu. Select audio and video content in the Save window local menu. Check "self contained" and a destination for the movie.
To authoring the DVD, you can use iDVD:
there is an issue with wide screen content, see:
http://www.fcpbook.com/Video9.html
The other way to resolve this problem is to use Quicktime player PRO, open your wide screen exported movie and set the correct *Aperture playback* option for video track in Movie properties window (use Command-J to get this window in quicktime player PRO). Save the new version of the movie once this option selected.
Drag your exported movie in a *wide screen iDVD project* and burn your project. iDVD will handle the frame size reduction and the compression for DVD usage. You don't have to choose option here.
Or
Use Roxio Toast, or Compressor if you own it (included with Final Cut Studio 2).
The resulting DVD will be a *Standard definition wide screen* one (720X480). IMO, it's not the better way to go for material screening by agency as this DVD will have to be played with DVD player application from a computer or with a DVD player hooked on a TV set.
NB: To burn a Blu-Ray DVD you can use Roxio Toast with the correct Roxio plugin, but it' difficult to get a BR DVD burner right now. You can use standard def DVD blank to get a BR of 20 minutes in lenght. Search this forum with "Toast Blu-Ray DVD keywords.
Michel Boissonneault -
hi folks,
we have a six-segment inventory stock locator defined in KFF. we have a need to use a combination of the first 4 in some of our inventory organizations, and all 6 in the rest. is it possible to achieve this?
thanks and regards.As long as the KFF does not have the 6 segments as mandatory, you can certainly create locators with just 4 segments.
And even if it is mandatory, you can create the locators with segment5 and 6 with a default value (such as Z, 0 etc.)
Hope this answers your question,
Sandeep Gandhi -
KANBAN Stock Transfer Question.
Hi All,
I am using kanban stock transfer stratergy(Mvmt type -311) to transfer my stock from one Sloc to another Sloc. I have given one fixed quantity and everytime that quantity is tranferred between sloc's. Now, My question is can give a tolerance limit to that kanban Quantity.
For example, If my kanban quantity is 500 Pc's can I provide a tolerance limit of 10% so that I can transfer the stock anywhere between 450 and 550. Please let me know if this functionality is possible.
Thanks in advance,
SushilHi,
As per standard SAP Practice , there is no provision of adding tolerance to Kanban Qty but you can replenish 450 /550 by manually editing the Kanban quantity in Kanban Correction.You can do Kanban correction in PK31n or directly by right click & selecting Kanban correction in Kanban Board screen.
Other way is you can use Event driven Kanban for one time replenishment of 450/550 so that you need not disturb the main Control cycle of Classical Kanban.
Even as per my knowledge, there is no BADI for Kanban which can help your requirement.So pls try above.
Hope this helps.
Revert if still any doubt.
Regards,
Tejas -
Hi Everyone,
I'm confused by the data conversion rule and how to do it in abap, could you help me about some of my questions?
1. How many ways to do data conversion ( like assignment .....)?
2. When using field symbol, we know we can assign reference to field symbol , and at mean time , we can casting type.
Is this kind of casting also a way to do data conversion?
3. In my real case, I have unknown type data to convert to xstring. the type could be any ( I, D, T, STRING......). Is there an easy way to implement that when I get the data reference, I only need to import it to a method and then the method return an xstring to me?
4. question 3 is about data->xstring, and how can I convert xstring back to the original data( should be the same type )?
Thanks and Regards,
AaronHi Aaron,
try this FM: CONVERSION_EXIT_ALPHA_INPUT
is useful for convert different data type, here an example:
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = A ( type unknown )
importing
output = B ( type xstring ).
Perhaps that helps,
Regards,
Davide -
GL Balances Conversion Question
Hi,
Recently I started working in oracle apps so you can consider me as a beginer.Now; I'm working on a GL Conversion project. We have balances from 2003. It has been decided that we will convert the balances from 2003-2006 and for 2007, 2008 we will convert in detail (every journal). We also use multiple currencies. My question is on extracting the balances. There are various values for Translated flag and some thing about BEQ columns.
I will appreciate, if you can tell me what balances I should extract for conversion purposes.
Thanks for your help !!
Shreekar.Can you give me details of what you have done?? i have the same issue and i do not know what has to be done
Thank you! -
Am having a couple of problems with video conversion for the Apple TV.
I had to reset and install OSX a few months back, now when I use FFMPEGX to convert some AVI files to H264 it is writing the audio and video as seperate files, cant understand why its suddenly doing this as worked fine before, anyone got any ideas?
Secondly, If I try to use Quicktime, Flip4mac writes that it was done with a trial version all over the video output, but I have the Pro Version of Quicktime so can't understand why it uses flip4mac at all, isnt Quicktime supposed to do this by itself, and is there a way round this, short of buying flip4mac?when I use FFMPEGX to convert some AVI files to H264 it is writing the audio and video as seperate files
Sounds like FFMPEG is doing this. Check the source codecs and/or your default/manual settings. Some conversions may require an intermediate conversion in which the audio and video are first "demuxed" and placed in separate files which are them converted to the final compression formats and then merged to a single file.
Secondly, If I try to use Quicktime, Flip4mac writes that it was done with a trial version all over the video output, but I have the Pro Version of Quicktime so can't understand why it uses flip4mac at all, isnt Quicktime supposed to do this by itself, and is there a way round this, short of buying flip4mac?
While QT recognizes the AVI file container (i.e., AVI is not a compression format), you must have the same codecs to make the file (many combinations are possible) playable and/or convertible to a fully supported QT compression format. QT does not supply proprietary interleaved codecs and you must install your own. DivX, Flip4Mac, Perian, etc. all have codecs that play different codecs that may be contained in the AVI container. As long as there are no conflicts, then everything works fine. In some cases, however, two or more components may be able to play/convert the same codec. In this event, QT seems to call the handler which was last installed. If this is the case, then you may be able to remove/re-install codecs in a different order which satisfies your needs. In other cases, the codec in question may only be supplied one of the third-party providers and you have no choice but to use their product. Some of the providers allow you to play the codecs in question but require you to purchase conversion decoders and/or decoders separately. (E.g., DivX and Flip4Mac.) Whether or not you purchase these products depends on how badly you want to convert the file in question. -
Frame Rate Conversion Question...
I have a bit of a mess here. I shot a film on the Canon XL2 at 24p. I digitized the footage in my old Avid system as a 23.976fps project and edited the entire movie. When I burned the movie to disk it had all kinds of skipping problems with the image. I wasn't sure what I had done wrong because if you shoot at 24p it should have been fine as a 23.976 project in Avid. But the XL2 apparently records at 23.976 fps, while inserting 6 frames every second to create a 30fps master tape. So I was supposed to import the footage into a 30i project. I've subsequently shot a short on the XL2 and digitized it at 30i and it turned out fine.
So here's my question. I have since switched over to FCP and I know with Automatic Duck I can convert the project from an Avid to a FCP project. However, I'm still going to have the frame rate problem. Does anyone know what my options are here? Is it possible to create a 30i project, bring in the 23.976 sequence and recapture the footage at the correct frame rate?I have since switched over to FCP and I know with Automatic Duck I can convert the project from an Avid to a FCP project.
Automatic Duck doesn't do project conversions. Only sequence conversions. It won't do all the media, or bins. Only the media in a sequence.
Shane -
Where to ask conversion question
I want to ask a question about PAL to NTSC conversion. What's the right forum for that? Is there one? Should I ask here?,
RossMy recommendation -
Using MPEG Streamclip, convert the PAL DVD to QuickTime/Apple DV PAL.
In FCE, change your Easy Setup to DV PAL; create a new sequence; import the QuickTime/Apple DV PAL file you exported from MPEG Streamclip. Do your editing (if any). Export to QuickTime Movie. Non-self contained is fine.
In iDVD, set your Projects > Video Mode preference to NTSC, with encoding = High Quality or Professional Quality. Import the QT Movie that you exported from FCE. Create whatever menus you want. Burn your DVD. You will get an NTSC DVD that will play just fine in most USA DVD players. I have done this and think the resulting quality is pretty good.
iDVD has the capability to convert PAL>NTSC and NTSC>PAL. I have experimented with this and think the quality is quite good.
There are more complex ways to convert between PAL and NTSC. JES Deinterlacer has the capability but I think other methods produce better results. The iDVD method is basically free. The only better alternative that I have experience with is Graeme Nattress' Standards Conversion, which works really well but it costs $100 and because it was designed for FCPro, it requires some workarounds to use in FCE. -
Hi,
I'm converting an ATX PSU to work on a Sawtooth.
One of the pins that needs conversion is the -5 volt ATX pin(white wire pin #18) to ground for the Sawtooth. However, the ATX unit I have does not have a -5 volt pin. The slot on the connector where pin #18 would live is vacant. My question is, should I supply a ground wire there, or leave it vacant for the Sawtooth?
Appreciate it, thanks
medinarayI followed the diagram here. the -5v is discarded. I unsoldered mine from the PSU board.
http://atxg4.com/sawtooth.html
Message was edited by: kmac1036 -
General CS4 Trial Conversion Questions
Well, this doesn't have to do with After Effects specifically but this was the most active section and there wasn't a section that dealt with general questions. I'm currently an owner of the Creative Suite 3 Master Collection. I'm about to buy the trial DVD set for the CS4 Master Collection. However, I was curious as to what additional content specifically will I have to download when I convert my trial to the full product. The reason for this is that I'm a little bit pressed for space. So if anyone has bought the trial and then converted, can you tell me what additional download content is there specifically?
I don't think it's anything too important. Just some optional plugins, scripts and templates/ stock files for Photoshop and InDesign and some additional templates for Encore. If you are not using any of them, then you will not need additional space. Most other components are already on your drive once you install the trial, they are just inert and will only appear once you input your serial. Premiere and Encore will install some CoDecs for HDV, MXF and other formats, AE will enable mochaAE, the CC Plugins and Keylight...
Mylenium -
Ok...I;m in the process of converting a large VB6 MP3 player to .NET. A long long time ago I wrote the vb6 player. The question is sort of simple.
Background: Old copies of the VB6 program run on the preview (9879), but I want to convert it to .net and I have vb2008 on this preview system to do the conversion and want to do it only there's a source build problem.
Somehow mscomctllib is not being found to build it to convert it. I rather suspect that the problem is is in finding mscomctl.ocx.
But who knows? VB6 used sealed build procedures and one can not tell where the system is looking for mscomctl.ocx. Yes. I can dump a version of the old executable and see a reference to mscomctl.ocx but that has no complete filespec which leads me to believe
that it should be in Renclock.exe's default directory.
Renee
"MODERN PROGRAMMING is deficient in elementary ways BECAUSE of problems INTRODUCED by MODERN PROGRAMMING." MeI have a lead. I've looking in the wrong place. I needed to dump the VB sealed build file.
To me, this says that its looking for a Guid!!!! My guess is that since this is a different system, that the GUID has changed.
Renee
"MODERN PROGRAMMING is deficient in elementary ways BECAUSE of problems INTRODUCED by MODERN PROGRAMMING." Me -
I am trying to wright a simple Stock report and i am running into difficulties - any expert advice would be appreciated:
The report should have the following fileds:
Item Group, Item Code, Item Description, In Stock Quantity, Stock Value.
The report should summarise by Item Group with Sub Totals.
I have tried several methods and I failed with all of them:
A Using Report Composer, I managed to Place the first 3 Fields and checked that this worked OK, and then converted this to an XL Reportt Definition. But, this Definition did not give any results when I ran it.
B. I started a new XL Definition using the Advanced Formula builder and managed to place all the fields but was not able to Group the records by using the XL Sub Total function.- this gave me only a total for all the records. I think I have done the procedure correctly but for some reason the SubTotal function within XL reporter does not give the expected result.
C. I have used the Grouping function within the Advanced Formula Builder but this did not work either
I wonder if anybody else experienced this type of problem because I suspect that something is wrong with the XL reporter?
Thank you
RobertHi Gordon
The reason I say that it might be a bug is the fact that when I get the #N/A in the cell I can go to another cell that has the COLUMN TOTAL formula and copy and paste and it seems to work OK. Also, I can put in the Formula manually (if I remember the syntax correctly...)
The frustration I have with the XL reporter is in the fact that it is a good product but to get the right result you need to "Experiment and guess" as to what the result will be. It is more of an "Art" then a preciese "Science". I can now write reports but I still do not understand when and why the report works. Perhaps SAP should give some guidlines of what "Kind" of combination may or may not work.
I do fully understand the construction of relational database tables and the links between them, but the XL reporter does not seem to have a logical approach for the end user to help construct a report so the only practical approach seems to be "trial and error"
One basic helpful hint seems to be that you need to have a Light Dimention Value field in order for a report to work - but I am not sure why this is the case.
Thanks for your remrks, they certaily point me in the right direction
Robert -
ABAP Rountine Conversion question
This is a routine that was migrated from 3.5. Here is the code I have, I've bolded the area that's throwing the error message:
PROGRAM trans_routine.
CLASS routine DEFINITION
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
Available information: Refer to methods of
interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr.
Rule specific types
TYPES:
BEGIN OF tys_SC_1,
Field: SHKZG Debit/credit.
SHKZG TYPE C LENGTH 1,
Field: ZZ_QUAN Quantity.
ZZ_QUAN TYPE P LENGTH 7 DECIMALS 3,
END OF tys_SC_1.
TYPES:
BEGIN OF tys_TG_1,
InfoObject: 0COPASLQTY Sales quantity.
COPASLQTY TYPE /BI0/OICOPASLQTY,
END OF tys_TG_1.
$$ begin of global - insert your declaration only below this line -
... "insert your code here
$$ end of global - insert your declaration only before this line -
METHODS
compute_0COPASLQTY
IMPORTING
request type rsrequest
datapackid type rsdatapid
SOURCE_FIELDS type tys_SC_1
EXPORTING
RESULT type tys_TG_1-COPASLQTY
monitor type rstr_ty_t_monitor
RAISING
cx_rsrout_abort
cx_rsrout_skip_record
cx_rsrout_skip_val.
METHODS
invert_0COPASLQTY
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
i_r_selset_outbound TYPE REF TO cl_rsmds_set
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO cl_rsmds_universe
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO cl_rsmds_set
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
$$ begin of 2nd part global - insert your code only below this line *
$$ end of rule type
TYPES:
BEGIN OF tys_TG_1_full,
InfoObject: 0COMP_CODE Company code.
COMP_CODE TYPE /BI0/OICOMP_CODE,
InfoObject: 0FISCPER Fiscal year / period.
FISCPER TYPE /BI0/OIFISCPER,
InfoObject: 0AC_DOC_NO Accounting document number.
AC_DOC_NO TYPE /BI0/OIAC_DOC_NO,
InfoObject: 0ITEM_NUM Number of line item within accounting docum
*ent.
ITEM_NUM TYPE /BI0/OIITEM_NUM,
InfoObject: 0FI_DOCSTAT Item Status.
FI_DOCSTAT TYPE /BI0/OIFI_DOCSTAT,
InfoObject: 0CHRT_ACCTS Chart of accounts.
CHRT_ACCTS TYPE /BI0/OICHRT_ACCTS,
InfoObject: 0GL_ACCOUNT G/L Account.
GL_ACCOUNT TYPE /BI0/OIGL_ACCOUNT,
InfoObject: 0ACCT_TYPE Account type.
ACCT_TYPE TYPE /BI0/OIACCT_TYPE,
InfoObject: 0SP_GL_IND Special G/L indicator.
SP_GL_IND TYPE /BI0/OISP_GL_IND,
InfoObject: 0AC_DOC_TYP Document type.
AC_DOC_TYP TYPE /BI0/OIAC_DOC_TYP,
InfoObject: 0POST_KEY Posting key.
POST_KEY TYPE /BI0/OIPOST_KEY,
InfoObject: 0FISCVARNT Fiscal year variant.
FISCVARNT TYPE /BI0/OIFISCVARNT,
InfoObject: 0DOC_DATE Document Date.
DOC_DATE TYPE /BI0/OIDOC_DATE,
InfoObject: 0PSTNG_DATE Posting date in the document.
PSTNG_DATE TYPE /BI0/OIPSTNG_DATE,
InfoObject: 0CREATEDON Date on which the record was created.
CREATEDON TYPE /BI0/OICREATEDON,
InfoObject: 0VALUE_DATE Value Date.
VALUE_DATE TYPE /BI0/OIVALUE_DATE,
InfoObject: 0CLEAR_DATE Clearing date.
CLEAR_DATE TYPE /BI0/OICLEAR_DATE,
InfoObject: 0CLR_DOC_NO Clearing Document Number.
CLR_DOC_NO TYPE /BI0/OICLR_DOC_NO,
InfoObject: 0CO_AREA Controlling area.
CO_AREA TYPE /BI0/OICO_AREA,
InfoObject: 0COSTCENTER Cost Center.
COSTCENTER TYPE /BI0/OICOSTCENTER,
InfoObject: 0PROFIT_CTR Profit Center.
PROFIT_CTR TYPE /BI0/OIPROFIT_CTR,
InfoObject: 0COORDER Order number.
COORDER TYPE /BI0/OICOORDER,
InfoObject: 0WBS_ELEMT Work Breakdown Structure Element (WBS Elem
*ent).
WBS_ELEMT TYPE /BI0/OIWBS_ELEMT,
InfoObject: 0PLANT Plant.
PLANT TYPE /BI0/OIPLANT,
InfoObject: 0BUS_AREA Business area.
BUS_AREA TYPE /BI0/OIBUS_AREA,
InfoObject: 0FUNC_AREA Functional area.
FUNC_AREA TYPE /BI0/OIFUNC_AREA,
InfoObject: 0PART_PRCTR Partner profit center.
PART_PRCTR TYPE /BI0/OIPART_PRCTR,
InfoObject: 0PCOMPANY Partner company number.
PCOMPANY TYPE /BI0/OIPCOMPANY,
InfoObject: 0PBUS_AREA Trading partner business area of the busin
*ess partner.
PBUS_AREA TYPE /BI0/OIPBUS_AREA,
InfoObject: 0LOC_CURRCY Local currency.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
InfoObject: 0DEBIT_LC Debit amount in local currency.
DEBIT_LC TYPE /BI0/OIDEBIT_LC,
InfoObject: 0CREDIT_LC Credit amount in local currency.
CREDIT_LC TYPE /BI0/OICREDIT_LC,
InfoObject: 0DEB_CRE_LC Amount in Local Currency with +/- Signs.
DEB_CRE_LC TYPE /BI0/OIDEB_CRE_LC,
InfoObject: 0DOC_CURRCY Document currency.
DOC_CURRCY TYPE /BI0/OIDOC_CURRCY,
InfoObject: 0DEBIT_DC Debit amount in foreign currency.
DEBIT_DC TYPE /BI0/OIDEBIT_DC,
InfoObject: 0CREDIT_DC Credit amount in foreign currency.
CREDIT_DC TYPE /BI0/OICREDIT_DC,
InfoObject: 0DEB_CRE_DC Foreign currency amount with signs (+/-).
DEB_CRE_DC TYPE /BI0/OIDEB_CRE_DC,
InfoObject: 0LOC_CURTP2 Currency Type of Second Local Currency.
LOC_CURTP2 TYPE /BI0/OILOC_CURTP2,
InfoObject: 0LOC_CURRC2 Second Local Currency.
LOC_CURRC2 TYPE /BI0/OILOC_CURRC2,
InfoObject: 0DEBIT_LC2 Debit Amount in 2nd Local Currency.
DEBIT_LC2 TYPE /BI0/OIDEBIT_LC2,
InfoObject: 0CREDIT_LC2 Credit Amount in Second Local Currency.
CREDIT_LC2 TYPE /BI0/OICREDIT_LC2,
InfoObject: 0DEB_CRE_L2 Amount in Second Local Currency with +/-
*Sign.
DEB_CRE_L2 TYPE /BI0/OIDEB_CRE_L2,
InfoObject: 0LOC_CURTP3 Currency Type of Third Local Currency.
LOC_CURTP3 TYPE /BI0/OILOC_CURTP3,
InfoObject: 0LOC_CURRC3 Third Local Currency.
LOC_CURRC3 TYPE /BI0/OILOC_CURRC3,
InfoObject: 0DEBIT_LC3 Debit Amount in Third Local Currency.
DEBIT_LC3 TYPE /BI0/OIDEBIT_LC3,
InfoObject: 0CREDIT_LC3 Credit Amount in Third Local Currency.
CREDIT_LC3 TYPE /BI0/OICREDIT_LC3,
InfoObject: 0DEB_CRE_L3 Amount in Third Local Currency with +/- S
*ign.
DEB_CRE_L3 TYPE /BI0/OIDEB_CRE_L3,
InfoObject: 0REF_DOC_NO Reference document number.
REF_DOC_NO TYPE /BI0/OIREF_DOC_NO,
InfoObject: 0REF_KEY3 Reference Key 3.
REF_KEY3 TYPE /BI0/OIREF_KEY3,
InfoObject: 0ORG_DOC_NO Document Number of Source Document.
ORG_DOC_NO TYPE /BI0/OIORG_DOC_NO,
InfoObject: 0ORG_DOC_YR Fiscal Year for Source Document Number.
ORG_DOC_YR TYPE /BI0/OIORG_DOC_YR,
InfoObject: 0ORG_DOC_CC Company Code for Source Document Number.
ORG_DOC_CC TYPE /BI0/OIORG_DOC_CC,
InfoObject: 0ORG_DOC_CO Controlling Area for Source Document Numb
*er.
ORG_DOC_CO TYPE /BI0/OIORG_DOC_CO,
InfoObject: 0POSTXT Item Text.
POSTXT TYPE /BI0/OIPOSTXT,
InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
RECORDMODE TYPE RODMUPDMOD,
InfoObject: 0ALLOC_NMBR Allocation Number.
ALLOC_NMBR TYPE /BI0/OIALLOC_NMBR,
InfoObject: 0COPASLQTY Sales quantity.
COPASLQTY TYPE /BI0/OICOPASLQTY,
InfoObject: 0COPASLQTU Sales unit.
COPASLQTU TYPE /BI0/OICOPASLQTU,
InfoObject: ZTRANSTYP Transaction Type.
/BIC/ZTRANSTYP TYPE /BIC/OIZTRANSTYP,
InfoObject: 0FI_DBCRIND Debit/Credit Indicator.
FI_DBCRIND TYPE /BI0/OIFI_DBCRIND,
InfoObject: 0ASSET_MAIN Main Asset Number.
ASSET_MAIN TYPE /BI0/OIASSET_MAIN,
InfoObject: 0JV_RECIND Joint Venture Recovery Indicator.
JV_RECIND TYPE /BI0/OIJV_RECIND,
InfoObject: ZTBSETPER Settlement Period.
/BIC/ZTBSETPER TYPE /BIC/OIZTBSETPER,
Field: RECORD Data record number.
RECORD TYPE RSARECORD,
END OF tys_TG_1_full.
TYPES:
BEGIN OF tys_SC_1__RULE_63,
Field: SHKZG Debit/credit.
SHKZG TYPE C LENGTH 1,
Field: ZZ_QUAN Quantity.
ZZ_QUAN TYPE P LENGTH 7 DECIMALS 3,
END OF tys_SC_1__RULE_63.
Additional declaration for transfer rule interface
DATA:
g_t_errorlog TYPE rssm_t_errorlog_int,
RECORD_ALL LIKE SY-TABIX.
global definitions from transfer rules
TABLES: ...
DATA: ...
FORM compute_COPASLQTY
USING
RECORD_NO type sy-tabix
TRAN_STRUCTURE type tys_SC_1__RULE_63
CHANGING
RESULT TYPE tys_TG_1_full-COPASLQTY
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
If TRAN_STRUCTURE-SHKZG = 'S'.
RESULT = TRAN_STRUCTURE-ZZ_QUAN * -1.
ELSE.
RESULT = TRAN_STRUCTURE-ZZ_QUAN.
ENDIF.
returncode <> 0 means skip this record
RETURNCODE = 0.
abort <> 0 means skip whole data package !!!
ABORT = 0.
ENDFORM. "COPASLQTY
$$ end of 2nd part global - insert your code only before this line *
CLASS routine IMPLEMENTATION
CLASS lcl_transform IMPLEMENTATION.
METHOD compute_0COPASLQTY.
IMPORTING
request type rsrequest
datapackid type rsdatapid
SOURCE_FIELDS-SHKZG TYPE C LENGTH 000001
SOURCE_FIELDS-ZZ_QUAN TYPE P LENGTH 000007 DECIMALS 000003
EXPORTING
RESULT type tys_TG_1-COPASLQTY
DATA:
MONITOR_REC TYPE rsmonitor.
*$*$ begin of routine - insert your code only below this line *-*
Data:
l_s_error_log type rssm_s_errorlog_int,
TRAN_STRUCTURE type tys_SC_1__RULE_63,
l_subrc type sy-tabix,
l_abort type sy-tabix,
ls_monitor TYPE rsmonitor,
ls_monitor_recno TYPE rsmonitors.
REFRESH:
monitor,
monitor_recno.
Migrated transfer rule call
MOVE-CORRESPONDING SOURCE_FIELDS to TRAN_STRUCTURE.
*Perform compute_COPASLQTY*
*USING*
*SOURCE_FIELDS-record*
*TRAN_STRUCTURE*
*CHANGING*
*RESULT*
*l_subrc*
*l_abort.*
*-- Convert Messages in Transformation format
LOOP AT G_T_ERRORLOG INTO l_s_error_log.
move-CORRESPONDING l_s_error_log to MONITOR_REC.
append monitor_rec to MONITOR.
ENDLOOP.
IF l_subrc <> 0.
RAISE EXCEPTION TYPE cx_rsrout_skip_val.
ENDIF.
IF l_abort <> 0.
RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
ENDIF.
$$ end of routine - insert your code only before this line -
ENDMETHOD. "compute_0COPASLQTY
Method invert_0COPASLQTY
This subroutine needs to be implemented only for direct access
(for better performance) and for the Report/Report Interface
(drill through).
The inverse routine should transform a projection and
a selection for the target to a projection and a selection
for the source, respectively.
If the implementation remains empty all fields are filled and
all values are selected.
METHOD invert_0COPASLQTY.
$$ begin of inverse routine - insert your code only below this line-
... "insert your code here
$$ end of inverse routine - insert your code only before this line -
ENDMETHOD. "invert_0COPASLQTY
ENDCLASS. "routine IMPLEMENTATIONHere was the orignal code. I've migrated the datasource now, and basically have started over using the 7.0 flow. We have a full 7.0 implemention, but the consultants chose not to migrate the Business Content, and built out the dataflow using 3.5 functionality. This routine is the only issue I'm having. It is flipping the sign. The above code is what BW did with the code when I created a transformation from the original rule.
PROGRAM CONVERSION_ROUTINE.
Type pools used by conversion program
TYPE-POOLS: RS, RSARC, RSARR, SBIWA, RSSM.
Declaration of transfer structure (selected fields only)
TYPES: BEGIN OF TRANSFER_STRUCTURE ,
InfoObject 0COMP_CODE: CHAR - 000004
BUKRS(000004) TYPE C,
InfoObject 0FISCPER: NUMC - 000007
FISCPER(000007) TYPE N,
InfoObject 0AC_DOC_NO: CHAR - 000010
BELNR(000010) TYPE C,
InfoObject 0ITEM_NUM: NUMC - 000003
BUZEI(000003) TYPE N,
InfoObject 0FI_DOCSTAT: CHAR - 000001
STATUSPS(000001) TYPE C,
InfoObject 0CHRT_ACCTS: CHAR - 000004
KTOPL(000004) TYPE C,
InfoObject 0GL_ACCOUNT: CHAR - 000010
HKONT(000010) TYPE C,
InfoObject 0ACCT_TYPE: CHAR - 000001
KOART(000001) TYPE C,
InfoObject 0SP_GL_IND: CHAR - 000001
UMSKZ(000001) TYPE C,
InfoObject 0AC_DOC_TYP: CHAR - 000002
BLART(000002) TYPE C,
InfoObject 0POST_KEY: CHAR - 000002
BSCHL(000002) TYPE C,
InfoObject 0FISCVARNT: CHAR - 000002
FISCVAR(000002) TYPE C,
InfoObject 0DOC_DATE: DATS - 000008
BLDAT(000008) TYPE D,
InfoObject 0PSTNG_DATE: DATS - 000008
BUDAT(000008) TYPE D,
InfoObject 0CREATEDON: DATS - 000008
CPUDT(000008) TYPE D,
InfoObject 0VALUE_DATE: DATS - 000008
VALUT(000008) TYPE D,
InfoObject 0CLEAR_DATE: DATS - 000008
AUGDT(000008) TYPE D,
InfoObject 0CLR_DOC_NO: CHAR - 000010
AUGBL(000010) TYPE C,
InfoObject 0CO_AREA: CHAR - 000004
KOKRS(000004) TYPE C,
InfoObject 0COSTCENTER: CHAR - 000010
KOSTL(000010) TYPE C,
InfoObject 0PROFIT_CTR: CHAR - 000010
PRCTR(000010) TYPE C,
InfoObject 0COORDER: CHAR - 000012
AUFNR(000012) TYPE C,
InfoObject : NUMC - 000008
PROJK(000008) TYPE N,
InfoObject 0PLANT: CHAR - 000004
WERKS(000004) TYPE C,
InfoObject 0BUS_AREA: CHAR - 000004
GSBER(000004) TYPE C,
InfoObject 0FUNC_AREA: CHAR - 000004
FKBER(000004) TYPE C,
InfoObject 0PART_PRCTR: CHAR - 000010
PPRCT(000010) TYPE C,
InfoObject 0PBUS_AREA: CHAR - 000004
PARGB(000004) TYPE C,
InfoObject 0PCOMPANY: CHAR - 000006
VBUND(000006) TYPE C,
InfoObject 0LOC_CURRCY: CUKY - 000005
LCURR(000005) TYPE C,
InfoObject 0DEBIT_LC: CURR - 000013
DMSOL(000007) TYPE P,
InfoObject 0CREDIT_LC: CURR - 000013
DMHAB(000007) TYPE P,
InfoObject 0DEB_CRE_LC: CURR - 000013
DMSHB(000007) TYPE P,
InfoObject 0DOC_CURRCY: CUKY - 000005
WAERS(000005) TYPE C,
InfoObject 0DEBIT_DC: CURR - 000013
WRSOL(000007) TYPE P,
InfoObject 0CREDIT_DC: CURR - 000013
WRHAB(000007) TYPE P,
InfoObject 0DEB_CRE_DC: CURR - 000013
WRSHB(000007) TYPE P,
InfoObject 0LOC_CURTP2: CHAR - 000002
CURT2(000002) TYPE C,
InfoObject 0LOC_CURRC2: CUKY - 000005
HWAE2(000005) TYPE C,
InfoObject 0DEBIT_LC2: CURR - 000013
DMSO2(000007) TYPE P,
InfoObject 0CREDIT_LC2: CURR - 000013
DMHA2(000007) TYPE P,
InfoObject 0DEB_CRE_L2: CURR - 000013
DMSH2(000007) TYPE P,
InfoObject 0LOC_CURTP3: CHAR - 000002
CURT3(000002) TYPE C,
InfoObject 0LOC_CURRC3: CUKY - 000005
HWAE3(000005) TYPE C,
InfoObject 0DEBIT_LC3: CURR - 000013
DMSO3(000007) TYPE P,
InfoObject 0CREDIT_LC3: CURR - 000013
DMHA3(000007) TYPE P,
InfoObject 0DEB_CRE_L3: CURR - 000013
DMSH3(000007) TYPE P,
InfoObject 0REF_DOC_NO: CHAR - 000016
XBLNR(000016) TYPE C,
InfoObject 0REF_KEY3: CHAR - 000020
XREF3(000020) TYPE C,
InfoObject 0ORG_DOC_NO: CHAR - 000010
AWREF(000010) TYPE C,
InfoObject 0ORG_DOC_YR: NUMC - 000004
AWGJA(000004) TYPE N,
InfoObject 0ORG_DOC_CC: CHAR - 000004
AWBUK(000004) TYPE C,
InfoObject 0ORG_DOC_CO: CHAR - 000004
AWKOK(000004) TYPE C,
InfoObject 0POSTXT: CHAR - 000050
SGTXT(000050) TYPE C,
InfoObject 0RECORDMODE: CHAR - 000001
UPDMOD(000001) TYPE C,
InfoObject 0WBS_ELEMT: CHAR - 000024
PS_POSID(000024) TYPE C,
InfoObject 0ALLOC_NMBR: CHAR - 000018
ZUONR(000018) TYPE C,
InfoObject 0COPASLQTU: UNIT - 000003
ZZ_MEINS(000003) TYPE C,
InfoObject 0COPASLQTY: QUAN - 000013
ZZ_QUAN(000007) TYPE P
DECIMALS 000003,
InfoObject ZTRANSTYP: CHAR - 000003
BEWAR(000003) TYPE C,
InfoObject 0FI_DBCRIND: CHAR - 000001
SHKZG(000001) TYPE C,
END OF TRANSFER_STRUCTURE .
Global code used by conversion rules
$$ begin of global - insert your declaration only below this line -
TABLES: ...
DATA: ...
$$ end of global - insert your declaration only before this line -
FORM COMPUTE_COPASLQTY
Compute value of InfoObject 0COPASLQTY
in communication structure /BIC/CS0FI_GL_4
Technical properties:
field name = COPASLQTY
data element = /BI0/OICOPASLQTY
data type = QUAN
length = 000017
decimals = 000003
ABAP type = P
ABAP length = 000009
reference field = 0COPASLQTU
Parameters:
--> RECORD_NO Record number
--> TRAN_STRUCTURE Transfer structure
<-- RESULT Return value of InfoObject
<-> G_T_ERRORLOG Error log
<-- RETURNCODE Return code (to skip one record)
<-- ABORT Abort code (to skip whole data package)
FORM COMPUTE_COPASLQTY
USING RECORD_NO LIKE SY-TABIX
TRAN_STRUCTURE TYPE TRANSFER_STRUCTURE
G_S_MINFO TYPE RSSM_S_MINFO
CHANGING RESULT TYPE /BI0/OICOPASLQTY
G_T_ERRORLOG TYPE rssm_t_errorlog_int
RETURNCODE LIKE SY-SUBRC
ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel datapackage
$$ begin of routine - insert your code only below this line -
DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
If TRAN_STRUCTURE-SHKZG = 'S'.
RESULT = TRAN_STRUCTURE-ZZ_QUAN * -1.
ELSE.
RESULT = TRAN_STRUCTURE-ZZ_QUAN.
ENDIF.
returncode <> 0 means skip this record
RETURNCODE = 0.
abort <> 0 means skip whole data package !!!
ABORT = 0.
$$ end of routine - insert your code only before this line -
ENDFORM.
Maybe you are looking for
-
Can i share iTunes music between my kids with different apple id's?
Can i share iTunes music between my kids with different apple id's?
-
TS1398 My iPhone 4S will no longer connect to wifi. Please help
My iPhone will no longer connect to wifi. Please help! I've tried turning it off, restarting, etc.
-
Problem in ABAP trial version installation
Hi All, I installed ABAP Trial Version, which was not properly installed, so I uninstalled SAP Application server form my desktop. When i try to it install again, it pop me up a message displaying "an instance of NSP database is already exist, remov
-
I want to know the questions and protection for my account because my account is locked I can not buy please help
-
Very urgent - Usage of IsError function in HFR
Hi All, Its very urgent requirement for us. How can we use the is error function in HFR.bcoz if the both values in formula ex: a/b ; a=0,b=0; then it shows some garbage value.i came to know we can achieve that by using iserror function.but i dnt know