Wednesday, 24 September 2025

Consuming EUDR Webservices from SAP ECC

  • There are number of us who're still stuck in the old SAP ECC or S/4 Hana on Premise and yet to move into Private or Public Cloud. A recent regulation in Europe requires us to implement tracebility on products produced by our plants. A requirement requires us to automatically submit the Due Diligent Statement (DDS) to EUDR website to compliance with the EUDR. For this, APIs have been developed to do just that, submitting DDS and getting the reference number and verification number. The APIs are available via Webservices, and to implement this, it is not that hard since SAP has automate the generation of consumer proxy and all required objects based on the WSDL available from EUDR. During first few Conformance Test (CF) that I've tested so far, there are few that probably will be helpful to point out: 
  • After you've loaded and generate the WSDL, using SOAMANAGER, you need to configure logical port. This is where you specified the end point, the username/password etc. In the first CF, this is the easiest one to just ping the server, sending hello in the payload with the correct cridential and header. However, for me, this is not a straight forward thing. 
    1. In SOAMANAGER, while creating logical port, you need to create logical port with "WSDL based configuration with template", and for the template, you need to use the "WSSE_USERNAMETOKEN". This will make the username/password appear in the next step. You need to use your username and authentication key you've created in the system (for testing, we need to get it from acceptance system). Finish the rest and save/activate the logical port. 
    2. While testing the generated class and sending the "hello" in the payload for CF1, I found out that SAP is sending a password and not a password digest as required by EUDR server. From my almost full day of debugging and trying so many options, I finally said that there will be no way that we could configure SAP to send a password digest, so at the end, I do what most of us trying not to do... implicit enhancement! 
    3. The implicit enhancement to Class CL_WSSE_FT_OUT_CFG and method GET_ST_CFG_711. At the end of the method, I put the following codes (this will trigger the passworddigest).   
     IF lf_supp_tk_type = co_t_type_unt.
     DATA(lv_soapaction) = to_upper( get_cfg_value( name = tsrtp_f_bdg_action ) ).            IF lv_soapaction CS 'EUDR' AND unt_st_cfg-digest_type IS INITIAL.                      unt_st_cfg-digest_type = abap_true.
     ENDIF.

          ENDIF.

  • I'm using the SOAPAction field since it has EUDR defined there in the WSDL and I don't want the enhancement gets triggered by other consumer proxy that doesn't have the same requirement for the authentication method. 2. There is also a requirement in the API for us to send a custom tag in the SOAP header. We need to add <v4:WebServiceClientId>eudr-test</v4:WebServiceClientId>  in the SOAP header. The only way to do this is in ABAP, when you call your proxy, you need to inject this custom tag to the header. I managed to do this using the following codes:
            DATA: lr_xml_document TYPE REF TO if_ixml_document,

          lr_xml_element  TYPE REF TO if_ixml_element.

    TRY.
        DATA(lo_ws_header) = CAST if_wsprotocol_ws_header( mr_interface->get_protocol( if_wsprotocol=>ws_header ) ).
      CATCH cx_ai_system_fault.
        RETURN.
      CATCH cx_ai_application_fault.
        RETURN.
    ENDTRY.

    CONCATENATE
      '<env:Header>'
      '<v4:WebServiceClientId xmlns:v4="http://ec.europa.eu/sanco/tracesnt/base/v4">'
      client_id
      '</v4:WebServiceClientId>'
      '</env:Header>' INTO DATA(lv_header).

    DATA(lv_xheader) = cl_proxy_service=>cstring2xstring( lv_header ).

    CALL FUNCTION 'SDIXML_XML_TO_DOM'
      EXPORTING
        xml      = lv_xheader
      IMPORTING
        document = lr_xml_document
      EXCEPTIONS
        OTHERS   = 0.

    DATA(lr_xml_root) = lr_xml_document->get_root_element( ).
    lr_xml_element ?= lr_xml_root->get_first_child( ).

    WHILE NOT lr_xml_element IS INITIAL.
      DATA(l_name) = lr_xml_element->get_name( ).
      DATA(l_namespace) = lr_xml_element->get_namespace_uri( ).
      lo_ws_header->set_request_header(
                  name      = l_name
                  namespace = l_namespace
                  dom       = lr_xml_element ).
      lr_xml_element ?= lr_xml_element->get_next( ).
    ENDWHILE.


  • The next that I found during the CF2 is, I need to send the geojson and this needs to be in base64 and since the xsd refered as base64Binary, the geojson code needs only be converted from the JSON to xstring. No further process needed, SAP will convert it to base64 automatically during the XML creation. 

I will update the blog as and when I find new things. Till then have fun!!!

Thursday, 30 May 2024

TOUCHTAB report, regenerate all ABAPs related to changed/modified structure

I was working on S4HANA OnPremis and tried to do an enhancement to BP's additional info structure by appending fields, but decided that it doesn't work that way. Revert the changes and everyone now getting ABAP dump with LOAD_TYPE_VERSION_MISMATCH. Found on SAP Notes, Note 1542682 which should fix this. Run report TOUCHTAB with the structure mentioned in the ABAP dump to regenerate all related programs.

Monday, 28 February 2022

Calling MS SQL Stored Procedure from ABAP

One of the few things sometime coming up in your ticket request. Calling stored procedure from ABAP to remote SQL server. 

How do we send the NULL value? It seems sending the ind_ref with -1 solve this.


TYPES: BEGIN OF ty_input,
         orderid(50),
         materialid(50),
         description(80),
         user1(50),
         user2(50),
       END OF ty_input,
       BEGIN OF ty_output,
         orderid(50),
       END OF ty_output.

DATA: ls_input          TYPE ty_input,
      ls_output         TYPE ty_output.

CONSTANTS: gc_null      TYPE int2 VALUE '-1'.

* Create db connection
DATA(lr_sql_connection) = cl_sql_connection=>get_connection( 'MSSQL' ).
DATA(lr_statement) = lr_sql_connection->create_statement( ).
DATA(lo_struct) = CAST cl_abap_structdescr( cl_abap_typedescr=>describe_by_data( ls_input ) ).
DATA(lt_comp) = lo_struct->get_components( ).
CLEAR: ls_input.
ls_input-orderid    = 'ABC123'.
ls_input-materialid = 'MAT01'.
ls_input-description = 'Order for MAT01'.

* Input fields
LOOP AT lt_comp INTO DATA(ls_comp).
  ASSIGN COMPONENT ls_comp-name OF STRUCTURE ls_input TO FIELD-SYMBOL(<cell>).
  IF <cell> IS INITIAL.
    lr_statement->set_param( data_ref = REF #( <cell> )
                             ind_ref  = REF #( gc_null )    "Send NULL if field has no value
                             inout    = cl_sql_statement=>c_param_in ).
  ELSE.
    lr_statement->set_param( data_ref = REF #( <cell> )
                             inout    = cl_sql_statement=>c_param_in ).
  ENDIF.
ENDLOOP.
* Output fields
lr_statement->set_param( data_ref = REF #( ls_output-orderid )
                         inout    = cl_sql_statement=>c_param_out ).

TRY.
    lr_statement->execute_procedure( proc_name = 'ST_ADDORDER' ).
    WRITE: / 'OrderID: ', ls_output-orderid.
  CATCH cx_sql_exception INTO DATA(lx_00).
    DATA(lv_exception) = | An exception occurred with SQL_MESSAGE = { lx_00->sql_message }|.
    WRITE: / lv_exception.
ENDTRY.

* Close db connection
lr_sql_connection->close( ). 

Sunday, 24 January 2021

Reviving my WX station, now with RTL-SDR.

 I've setup my WX station (Maplin version of WH1080) for quite sometime now but since last year, it went down due to few reasons. One of it, because the problem with the intermediary software between the WX base station and aprs server. Anyway, the outdoor unit still out there, transmitting it data over 433.920Mhz freq. 

Had a bit of time yesterday, and I've received the BNC to SMA jumper cables that I ordered through Shoppe few days back, so no reason not to go ahead with this. My Raspberry 4 mini-server is under-load anyway, and the RX only multi-coupler given by Weerut has been laying down collecting dust for quite sometime. 

What needed to get the SDR to receive the WX data from WH1080 is a software called rtl_433. This software runs on my Raspbian without a problem and it could actually receive many other devices that use 433MHz frequency. 

To get started, I was using the instructions found in :

GitHub - matthewwall/weewx-sdr: weewx driver for software-defined radio

Few things needed to be changed since the rtl_433 has been updated, WH1080 support has changed too. The weewx-sdr won't work out of box. The following changes still not available in the final code. 

Resolve #79 - new model name and wind fields in RTL-433 V20 by mitchins · Pull Request #88 · matthewwall/weewx-sdr · GitHub

To be able to send the output into aprs, I'm using the setup that I've had since 2015. This extension is a modified code, not written by me but it works great my setup. My write up on the weewx2aprx can be found here.

9M2TPT / KT2O / M0HIK: Getting your WX station out to RF using weewx + aprx

My current setup as below ( yes, I'm using multi-coupler for my setup which is connected to Diamond D190).


Oh am going to redo the power into the multi-coupler, it kind of dangerous using the croc-clip for it for sure :)


Friday, 17 July 2020

SAP Smartforms - Add T&C Pages

Some of you might have come across this requirement in your years of doing ABAP. T&C page might be easy in most cases, just set a COMMAND from PAGE main window but if we've some other stuff like printing a secondary window at end of page, we might missed that.

Since many developers overlapped their final windows to save some empty spaces rather than wasted it for reserving the last footer, this becomes a problem when trying to jump to a T&C page.

To achieve this, we need to do the following:

  1. Create two global variables (flags), e.g. GV_FLAG1 and GV_FLAG2.
  2. In the main window, after you've done all the processing, you need to create a program lines, here we set the first flag, GV_FLAG1 = 'X'. No conditions need to be added or ticked.
  3. After the above program lines, create a COMMAND and this is to be set to jump to the T&C page.
  4. In your secondary window (e.g. footer printed at last page), under the conditions tab, do a check on GV_FLAG1 EQ 'X' and GV_FLAG2 NE 'X'. Do not set any additional event/condition.
  5. Create a program line in the secondary window, make it the last one after all other processing, here you set the second flag, GV_FLAG2 = 'X'. Important, no condition needed and any event should be unticked. 
The above should print the last footer window and jump to your T&C page. Good luck!

 

Thursday, 25 June 2020

Debugging error from VF01

Ever wonder what the easiest way to debug error coming out from VF01? Well, you could try creating watchpoint by checking SYS-MSGID = 'VF' but the easiest is to place a session breakpoint in subroutine VBFS_HINZUFUEGEN which can be found in INCLUDE LV60AA98.




All errors found in the log will need to go through the above routine. Hope this helps! I've been enjoying doing this stuff for more than 20 years! Hope you too! :)

Wednesday, 12 June 2019

Debugging SAP ERMS rules

There probably many CRM implementations which use ERMS, I've come through few requests on how to debug the auto response given by ERMS when CRM receives an inbound email.

SAP provides a tool which you could use to debug this auto response rules. The transaction CRM_ERMS_LOGGING is very helpful. But before we could use this transaction, we need to know the work item ID.

Anyway, here are the steps I used in my debugging:

1. Use SOST, find the response that was sent out, note the date/time
2. Use SWIA, this will return you with work item ID, fill in the time period based on (1) and the task = TS00207915 (ERMS service manager)
3. Put a break point at your auto response implementation
4. Use CRM_ERMS_LOGGING, enter the work item ID and un-tick "Do not execute actions"
5. Execute and you'll be brought to the break point you left in (3)



Tuesday, 19 February 2019

Retrieving older version of sapscript

As you may have come across, there is no versioning available for sapscript in SAP (at least until SAP ECC6, no idea if newer one has it). So is there a way to retrieve your old version?

Simple and straight answer will be, NO!

Workaround? Probably there is. Here is what I've done to work around this:

1. Use SE03 to find the the last good transport for the sapscript.
2. Use STMS_IMPORT to import the previous transport into your QA or Sandbox.
2.1 Extras - Other Requests - Add
2.2 Put transport request, client and click on transport again.
3. Download the sapscript form using RSTXSCRP to your local PC.

Good luck!

Monday, 9 April 2018

New project - Ubitx - Radi2cino

I've always been interested in building my own radio. I've seen many projects available on the net which I could get my hands dirty with. I had a WSPR kit which I've finished working on it but I had little problem and somehow I lost interest on it.  I saw another one which allows SSB/QRP kits from India. It comes as a full assembled board but with no case and lot of other interesting projects which can be based on that board. The UBITX kit is made available by VU2ESE and can be bought from his website at:



This kit is selling like a hot cake, snapped most of the available kits just few days after it was launched at the end of last year. Currently, it is being back-ordered, and it usually takes around 2 months to get yours ready for shipping. Mine is already in the post and unlucky me, I choose to get it shipped via India Post and it takes weeks to reach me I guess. Should've choose DHL shipping for an extra USD$10. BTW, the kit cost is just USD$109 for now, the same price when it was launched last year. 

BTW, while waiting for the UBITX to arrive, I've ordered a Raduino replacement from a US ham, W0EB. This Raduino replacement has been designed/developed by W0EB/W2CTX/N5IB and made it available for US$45 (shipped to Malaysia). The kit comes unassembled and it comes with two SMD chips and lots of SMD resistors and caps. This is my first time working on SMD and the only tool I've is soldering iron. Anyway, managed to assemble it but yet to test it out. 




Had a problem with Si5351a, developed some bridges with some of the pins. So, applied lot of flux to remove the bridges. Since this is my first time doing SMD soldering and I think it is good enough and if it doesn't work later on, I'll need to re work on it again.




The case that I have bought, I was thinking of getting a smaller one, but for now, this is good enough. Front panel ready, back panel will wait. Forgotten to buy the UHF connector for the case.



x

Thursday, 1 March 2018

CRM middleware - Debugging incoming BUPA _MAIN/BUPA_REL

Instead of stopping the inbound queue to enable debugging, there is another method which hasn't been documented well.

In the BUPA_CONV_EI2BAPI function module, there is the following code:



This will enable us about 30 seconds to enable debugging from SM50.

Saturday, 27 January 2018

Upgrading my Heathkit SB-221 with Harbach upgrade kits

Finally, after I have got all the upgrade kits that I ordered from Harbach, I started putting them together today. It took me many hours since I couldn't visualised on how they're supposed to be installed based on the installation guides which really useful nonetheless.


I started my upgrade with the RM-220 meter board. It has missing R2 resistor and Jeff had shipped it along with my FB-220 kit which I ordered later. I didn't think it was necessary to upgrade the capacitors bank but many of my friends suggested it since the amplifier was built 30+ years ago. The capacitors might have dried up. Along with RM-220, I did the FB-220 upgrade too since  I need to work on the connection anyway. Anyway, the meter board doesn't require the old zener diode, so I've removed it as per the installation guide.



After the two upgrades, I did a test run just to make sure everything was okay before going for the other upgrades. The HV reading seems to be a okay and as per the original specs. Before the upgrade, the reading were a bit off for both CW and SSB mode.





Satisfied with the HV side upgrades, I went ahead with adding the SS-221-240 upgrade. This requires a lot of works since there are four things need to be done:


  1. Installing the circuit board (it is upside down since I couldn't find a safest way of installing it and looking at some of the photos found on the net, they're doing the same thing.
  2. Installing the bridge rectifier.
  3. Adding  transient voltage suppressors ( 390V ZNR suppressors).
  4. And lastly the diodes across the T/R relay.






The last part before doing another test run was to put in the SK-220 soft key. Its a bit cramp there since there is RF choke installed. The installation guide doesn't warn this though. But I managed to squeezed it in.


Done with all the upgrades, I did a check on all connections and tidy some of the wires with cable tie. I did a power up test run and let it ran for half an hour to see if I any smoke came out and everything went just fine. Put back the casing and now ready for RF test. This will be done when I get my hexbeam fine tuned. Stay tune!

Thursday, 18 January 2018

Digital Voice Mode - In Malaysia

As of now (early 2018), the digital voice mode is still in the infant stage in Malaysia. The interest from local hams seems to be slow and this probably due to many reasons. Anyway, I've blogged this in the myaprs.my blog, so I will not repeat it here. Here is the link if you would like to read more:

http://www.myaprs.my/2017/11/going-to-new-chapter-digital-voice.html

Anyway, for those who're looking into how you would be able to make a contact with local hams in digital voice mode, the following information might be useful:
  • Yaesu Fusion - Wires-X
    • MALAYSIA-NET room
      • 9M2RKL (Klang Valley) - 439.600 MHz, Shift -5 MHz
      • 9M4RMU (Melaka) - 439.8250 MHz, Shift -5 MHz
  • Yaesu Fusion - YSF Network
    • MY Malaysia Net reflector
  • DMR - BrandMiester Network
    • Talkgroup 50210 
The three networks above are bridged, so you can either access it using hotspot from BrandMiester or from YSF Network depending on what radio you have. For Wires-X, you need to either access it from any repeaters that are already connected to Wires-X, or from any Wires-X nodes/gateways too.




Tuesday, 16 January 2018

Got myself an SB-221!

I've been aiming to own one since I upgraded my license back in 2012 and I'm more interested on the old tube amplifier like those from HeathKit, Kenwood and Yaesu. The only thing that holding me back was the cost to get it shipped from US to Malaysia. The SB-200 and the likes can be had for around USD$400-600 but the shipping and handling can be costly due to the weight and customs charges, it might comes to a total of USD$200 for shipping cost.

My luck changed, on 24/12, I was browsing mudah website and was looking for something unrelated but was bumped to an advert, a Heathkit SB-221 for sale. The advert was posted about a month before that and according to the guy, there was no other enquiry other than from a person from neighbouring country. So, the deal went through and on 27/12, I got a very clean (from outside) and very good condition SB-221 with a 10M mod done. No other mods have been done since the amplifier was built and according to the OM, he hasn't turn it on for the last 10 years since he made a move to Malaysia.

Since I don't have a proper radio to test everything, I did only a turn-on test and let it run for half an hour. No burning smell, and the tubes glowed as expected. The only I did was to replace the broken 240V cheap plug with a much better one. The plate voltages for both CW and SSB are a bit shy to the one on the specs, probably due to the age but well within the 10% tolerance.

Anyway, before I get this connected to my current rig, a TS-590SG, I've ordered few upgrade kits from Harbach Electronics which include the soft-key, soft-start, meter board and the capacitors block.

Some photos when I took off the casing:


 






















Thursday, 14 December 2017

SAP HR Programming?

It has been a while since I touched SAP HR/Payroll, the last time I had touch it was back in 2004 when doing a contracting for a client in St Helens, UK. I had prepared a hand-over document when I left the project and it seems to be uploaded everywhere including in the scribed website. Anyhow, to preserve this further, I'm uploading it to my google drive and linked it here.

SAP HR Programming - Handover Document

Wednesday, 4 October 2017

DMEE - Why copying a standard to bespoke DMEE tree will give different output?

I was faced with this question yesterday and it seems that few payment DMEEs will result in different output when copied into a bespoke Z* or Y* tree. Found out that some of these DMEEs have BADI implemented for them and changing the final file output according to the specific DMEE tree. So, for those who're looking for a reason why your bespoke output file doesn't match the original, do check those available BADI under *DMEE*.

Example that I did yesterday was a copied version of DK_PAYMUL_DOMESTIC. The final file has UNA header as UNA:+,? '. As much as I tried to put a constant in the DMEE tree on a bespoke copy, it won't get copied over to the output file. Found out that there is BADI implemented for that particular DMEE tree, under DMEE_BADI_01 with implementation name DMEE_DK_BADI_01. Copied that and add my bespoke DMEE into the filter and wallah, the output file matches the original.

Hope the above helps those who're stuck wondering why your bespoke copied version won't give the same output result as the standard one.

Thursday, 8 June 2017

MMDVM ZUM Board - Arrived!

It actually arrived a couple of week ago and I haven't got time to play around with it since I don't have any repeater right now to work on. The package reached me via priority mail from Germany and it comes with a user manual, a USB cable, and MMDVM ZUM board attached to an Arduino DUE board.



My intention is to have this MMDVM ZUM board connected to the Yaesu DR-1X spare repeater for experimenting and if this works well, we could have it installed at one of the repeater site in Klang Valley. This will incite more digital users to be on the air and for those who're starting up, they might want to go further a bit then the normal TYT/Boefeng cheapo HTs and invest on DMR or Yaesu Fusion sets instead.

Will see how it goes! BTW, I'm really enjoying the DMR now. I'm monitoring Brandmiester TG91 most of the time and I've managed to have few QSOs there and the latest was with VK4GO, Art. Art was here in Malaysia many years back and he seems to be very well into this new digital radio stuff.

Thursday, 27 April 2017

TYT MD-380 + DV4 Mini = DMR hotspot at home

So I saw the TYT MD-380 on sale in lazada for RM450 (- 10% discount from Maybank) = RM405 in total. Didn't think long before I click the buy it now button. I've bought few things from lazada which were delivered from overseas and never got taxed or hold by customs. So, why not give it a go. The local TYT distributor charges double the price for the same thing!

Anyway, its a bit hard for me to understand all the terminologies used in the DMR. Watch the youtube video on how to set up the MD-380 and connect it through the DV4 Mini dongle and managed to have it working last night. With all the DMR jargons that I need to understand, I successfully connected to a talk group 3100 (US Wide), going through Brandmeister, TG4999 and went to BM's website to connect me to TG3100. I've no idea if this is the best way to do it.

While monitoring the QSOs this morning, suddenly I heard my callsign called up on the radio. It was Charles, WB2LMA calling me. Sorry, I've no idea how to find who is active on the TG, but yah, had my first QSO on DMR through the DV4M hotspot on TG3100. Thanks Charles for calling me on the TG.



Tuesday, 4 April 2017

Revert Smartforms / Sapscript editor from MS-Word

I have no idea if this is ECC 6 only feature but I've just upgraded my Office to 2016 and when I get into the smartforms, I couldn't display the text normally. It has an informational text saying "Use the full screen text editor". To change this back to the normal text editor, just run RSCPSETEDITOR ABAP and untick the SAPScript & Smartforms from the selection and activate. This will revert back your default editor.


Monday, 20 February 2017

JT65-HF HB9HQX + Microkeyer II + TS-590SG

I had a hard time to get this things configured, the most problematic was to get the PTT port recognised. It was in fact a small thing, in the JT65-HF HB9HQX, there is a verify COM Port. I unticked this and wallah, my PTT is working.

For my reference and probably others too in the future, here are the configurations that I have to make this thing working:

Microkeyer II configuration:





JT65-HF HB9HQX configuration:




And on my TS-590SG:

Menu 67 - 38400
Menu 69 - ACC2
Menu 70 - FRONT
Menu 73 - 4 
Menu 74 - 4


Sunday, 20 November 2016

Displaying aprx-rf log onto 4x20 LCD display

Received a request on a short how-to to get the aprs packet shown in the 20x4 LCD display. The way I have for my setup are the following:

1. Raspberry Pi 3 (Raspberry Pi 2 will work, but below that, you need to have different kind of connection for the GPIO).
2. 20x4 LCD HD44780 or compatible screen.
3. Install lcdproc package ($ sudo apt-get install lcdproc)
4. A modified HD44780 driver,

I'm using the following diagram for my LCD connection to the GPIO lines. Ignore the temp sensor connection.

*Connection diagram taken from rototron.info website.

The how-to to get the LCD working can be found on the http://www.rototron.info/lcdproc-tutorial-for-raspberry-pi/ too.

A modified HD44780 driver can be found down below along with my python code.

Or download or compile your own following the thread in the following forum link:

https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=100066

This modified driver need to be moved into /usr/lib/arm-linux-gnueabihf/lcdproc/ directory and replacing the driver that comes with the lcdproc package.

Add the correct configuration (if missing) from your /etc/LCDd.conf. I've the following:

[server]
DriverPath=/usr/lib/arm-linux-gnueabihf/lcdproc/
NextScreenKey=Right
PrevScreenKey=Left
ReportToSyslog=yes
ToggleRotateKey=Enter
Driver=hd44780
ServerScreen=no


[hd44780]
ConnectionType=raspberrypi
Size=20x4

Done with the above, you can test your LCD setup if it is working correctly, run the LCD and lcdproc daemon:

$ sudo /etc/init.d/LCDd start
$ sudo /etc/init.d/lcdproc start

The above should bring up your LCD alive and show the cpu information etc if everything set correctly. You can enable or disable what to be displayed in configuration file /etc/lcdproc.conf. For me, I've disabled most of them except the cpu information.

Now, you've got the LCD working. Great, now the fun part to code a simple python script so that it will read the aprx log file and display the last line into the LCD screen. You need at least a Python 2.7 which I believe should be installed as default. You also need few more packages, namely the aprslib (to parse APRS packets), lcdproc (for displaying to LCD) and LatLon (for calculating distance).

To install the lastest aprslib python package, please refer to the following website:

https://pypi.python.org/pypi/aprslib

To install the latest lcdproc package, you can refer to the official website:

https://github.com/jinglemansweep/lcdproc

And lastly the LatLon package can be found here:

https://pypi.python.org/pypi/LatLon/1.0.2

My lovely looking python coding, modified driver and startup script to get everything to appear on LCD screen can be found here:

https://drive.google.com/open?id=0B_kYO6BlPebVdjR4QUJuVkM2dG8

To run the above python code, just run it against the aprx-rf.log, example:

$python aprx_lcd.py /var/log/aprx-rf.log

I have it running as a daemon by creating a startup script in /etc/init.d/. Sample can be found in the above file in my google drive.

Have fun!







Consuming EUDR Webservices from SAP ECC

There are number of us who're still stuck in the old SAP ECC or S/4 Hana on Premise and yet to move into Private or Public Cloud. A rece...