benito
11th September 2013, 00:10
does anybody know the logic when printing only the changed PO lines? when printing i select "Excl. Printed Lines" and it prints only the "changed" lines. i cannot seem to find this in the report script or the layout. what i want to do is to add another layout in the report that says the text "changed". any ideas?
bhushanchanda
11th September 2013, 07:02
Hi Benito,
Do you mean that, you want to print only the changed lines? Or is there a report which already prints changed lines? I am not sure about the question, but from what I understand, may be you can add a CDF to the lines. If the record is updated, you can put some value in the cdf field. Later, when you print your layout, you can check the value of CDF field for the PO line and you can print the required things based on that. Theoretically, it seems to work. You can try it.
Else, a second way is , you can maintain a table for changed PO lines and you can update it every time the line is updated with the respective date and time. There is Line History Session for PO lines. Under the changes tab, you can get this info. But, it starts updating only when PO is approved.
So, you can choose any way. Again, I am not sure about your requirement.
dorleta
11th September 2013, 13:29
its a field with a mask or a status.
In baanIV is something like that
tdsls045.mask = "eyyyynnn"
when you change something in po line
tdsls045.mask = "yyyyyynn"
change a char in the mask field.
benito
11th September 2013, 16:26
thanks for all the replies. i am just asking about the logic in LN on how it prints changed PO lines. all i want to customize is the report to have the word "changed" instead of "original". how does it know to pick up the specific line if it's changed/new/? the standard function now is it's printing it properly (only the changed line) but the PO says "original". i don't know how a cdf could be applicable and i dont want to create a table just for this. if it's in the program script then i don't have the script. also the procedure mask is in the warehousing receipts and if you havent released it to warehousing there is no record there.
bhushanchanda
11th September 2013, 17:52
Ok,
I got it. Well, check table tdpur413 (Order Line Activities). You can check there for activity tdpur4401m000. If the Execution Status is Executed, then its already printed, if Free its not printed. And you can use CDF as well. Like, add a cdf to table tdpur401. When a record is modified, you can assign the CDF a value using UE DLL. Then, you can check its value in your report script.
Hope this helps.
benito
12th September 2013, 16:37
thank you bushan and dorleta, it's working now and i found 2 solutions that worked. first make sure that the Activity Print purchase order is "manual":
1) the report field "printed" is actually an enum field. i just captured the value tdpur.kofl.exc.printed and i can tell whether i'm printing a "changed" p.o.
2) also, the field tdpur401.ctcd (change type lines) is populated when you change a line, then it gets erased once you print.
i chose the latter. thank you so much
bhushanchanda
12th September 2013, 17:05
Hi Benito,
Glad that worked. I would like to mention something, if you are not using the change codes in the parameters (tdpur0100m400) under Changes tab, the field will remain blank. Also, when something is changed, the message is popped up which asks if the user wants to update the change codes in the lines. Again, if user says no, it will be left blank.
Please confirm this. :)
benito
12th September 2013, 17:12
bushan, all fields in the the Parameter session, tab Changes are all blank, e.g
prompt for changes codes = blank, changes codes mandatory=blank. maybe i can test more when my test users are offline.
bhushanchanda
12th September 2013, 17:24
Hi,
For your reference, there is a check box "Promp for Change Codes". If this is unchecked, it will update the fields without users confirmation. And, if you leave the two fields blank, nothing will be updated. I have played with it months ago at my end. You can check it whenever possible.